免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 2097 | 回复: 0
打印 上一主题 下一主题

PortScan [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-24 11:07 |只看该作者 |倒序浏览
老大给分配的第一个小项目,用python写一个扫描端口!

#!/usr/bin/env python
# Package definitions.
__program__   = 'PortScan'
__version__   = '0.1a'
__date__      = '2009/24/07'
__author__    = 'leogeng'
__licence__   = 'GPL'
__copyright__ = 'Copyright (C) 2009 Lars Strand'
import socket
import sys
from time import time,ctime
from socket import *
host = sys.argv[1]
start = int(sys.argv[2])
end   = int(sys.argv[3])

def scan_tcp(host, start_port, end_port):
    for port in range(start_port, end_port + 1):
        try:
            s = socket(AF_INET, SOCK_STREAM)
        except:
            print "socket error"
            sys.exit(1)
        s.settimeout(0.1)
        try:
            s.connect((host, port))
        except:
            pass
        else:
            s.close()
            #serv = socket.getservbyport(port)
            #print str(port) + "\t" + serv
            print str(port) + ' tcp port is open'
            
def scan_udp(host, start_port, end_port):
     for port in range(start_port, end_port + 1):
         try:
            s = socket(AF_INET, SOCK_DGRAM)
         except:
            print "socket error"
            sys.exit(1)   
         s.settimeout(0.1)
         try:
             s.sendto("",(host,port))
             s.recvfrom(10)
         except timeout:
             #serv = socket.getservbyport(port)
             #print str(port) + "\t" + serv
             print str(port) + ' udp port is open'
         except error:
             continue
         finally:
             s.close()
        
def main():
    print "Start at " + ctime(time())
    scan_tcp(host, start, end)
    scan_udp(host, start, end)
    print 'Stop at ' + ctime(time())

if __name__ == '__main__':
    main()


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/101492/showart_2005774.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP