1. 程式人生 > >Python學習-埠掃描-對本地host127.0.0.1的主機進行掃描埠

Python學習-埠掃描-對本地host127.0.0.1的主機進行掃描埠

#!/usr/local/bin/python
#-*- coding: UTF-8 -*-
#埠掃描器
import socket
import thread
import time
socket.setdefaulttimeout(3)  #設定了全域性預設超時時間

def socket_port(ip,PORT):  #掃描開放埠
    try:
        if PORT>=65535:
            print u"埠掃描結束0-65535"
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        #s.settimeout(float(1))  #延時5S
        #s.connect((ip,PORT))
        result=s.connect_ex((ip,PORT))
        if(result==0):
            print ip,u":",PORT,u"埠開放"
        s.close()
    except:
        print u"掃描埠異常2"


def IP__port(data): #掃描埠
    try:
        #data="127.0.0.1"
        t=time.time()
        for i in range(0,1000 + 1):   #65535
            thread.start_new_thread(socket_port,(data,int(i)))
            time.sleep(0.003) #確保先執行Seeker中的方法
        print u'掃描埠完成用時 time:%f' % (time.time()-t)
    except:
        print u"掃描埠異常1"


if __name__=='__main__':
    #socket_port("127.0.0.1",21)  #掃描開放埠
    IP__port("127.0.0.1") #多執行緒