您的位置:首页 > 编程语言 > Python开发

python 多线程端口扫描

2014-04-08 09:28 633 查看
#!/usr/bin/env python
import thread
import socket
import sys

IP=[156,192,172,192,151,152]
Network=sys.argv[1:][0]

def Scan(Point,lock):

Addr=str(Network) +'.'+ str(Point)
for Port in range(20000):
try:
socket.setdefaulttimeout(1)
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.connect((Addr,Port))
print "%s port %d is UP." % (Addr,Port)
sock.close()
except:
null=open('/dev/null','w')
print >> null,str
lock.release()

def main():

locks=[]
NIP=range(len(IP))
for num in NIP:
lock=thread.allocate_lock()
lock.acquire()
locks.append(lock)
for num in NIP:
thread.start_new_thread(Scan,(IP[num],locks[num]))
for num in NIP:
while locks[num].locked():
pass
if __name__ == '__main__':

main()
本文出自 “技术至上” 博客,请务必保留此出处http://wlgcsrhl.blog.51cto.com/4600377/1391986
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: