g87616758 发表于 2015-12-2 15:28:09

python端口扫描

  简易版:



#author:Blood_Zero
#coding:utf-8
import socket
import sys
PortList=
#

host=sys.argv
for i in PortList:
sock=socket.socket()
sock.settimeout(2)
try:
sock.connect((host,i))
print "the port %d is open" %i
except Exception:
print "the port %d is not open" %i
sock.close()
  执行方法:python port_scan.py www.xx.com
  
  多线程端口扫描:



#author:Blood_Zero
#coding:utf-8
import socket
import multiprocessing
import sys
host=sys.argv
PortList=
#定义端口扫描函数
def scan(port):
port=(int(port))
sock=socket.socket()
sock.settimeout(1)
print "the port %d is scanning" %port
try:
sock.connect((host,port))
print "the server %s port %d is open" %(host,port)
except Exception:
print "the server %s port %d is not open" %(host,port)
sock.close()
# 主函数
if __name__=="__main__":
thread=multiprocessing.Pool(processes=100)
for i in PortList:
thread.apply_async(scan(i))   
thread.close()
  执行方式 python port_scan.py www.xx.com
  后续还会出很多加强版!
  
页: [1]
查看完整版本: python端口扫描