python实现的多线程端口扫描功能示例

本文实例讲述了python实现的多线程端口扫描功能。分享给大家供大家参考,具体如下:

下面的程序给出了对给定的ip主机进行多线程扫描的python代码

#!/usr/bin/env python
#encoding: utf-8
import socket, sys, thread, time
openportnum = 0
socket.setdefaulttimeout(3)
def usage():
print ””’usage:
scan the port of one ip: python port_scan_multithread.py -o
scan the port of one ip: python port_scan_multithread.py -m
”’
print ‘exit’
sys.exit(1)
def socket_port(ip, port):
global openportnum
if port > 65535:
print ‘port scanning beyond the port range, interrupt to scan’
sys.exit(1)
s = socket.socket(socket.af_inet, socket.sock_stream)
result = s.connect_ex((ip, port))
if(result == 0):
print ip, port,’is open’
openportnum += 1
s.close()
def start_scan(ip):
for port in range(0, 65535+1):
thread.start_new_thread(socket_port, (ip, int(port)))
time.sleep(0.006)
if __name__ == ‘__main__’:
t = 0
if len(sys.argv)

Posted in 未分类

发表评论