Heim >Backend-Entwicklung >Python-Tutorial >Python-Scan-Port-Skriptcode

Python-Scan-Port-Skriptcode

高洛峰
高洛峰Original
2017-03-10 18:55:181744Durchsuche

Pyhton-Scan-Port-Skriptcode

# -*- coding:utf8 -*-
#!/usr/bin/python
# Program:         端口扫描
import socket, time, thread
socket.setdefaulttimeout(3)
def socket_port(ip,port):
    """
    输入IP和端口号,扫描判断端口是否开放
    """
    try:
        if port>=65535:
            print u'端口扫描结束'
        s=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        result=s.connect_ex((ip,port))
        if result==0:
            lock.acquire()
            print  ip,u':',port,u'端口开放'
            lock.release()
        s.close()
    except:
        print u'端口扫描异常'
def ip_scan(ip):
    """
    输入IP,扫描IP的0-65534端口情况
    """
    try:
        print u'开始扫描 %s' % ip
        start_time=time.time()
        for i in range(0,65534):
            thread.start_new_thread(socket_port,(ip,int(i)))
        print u'扫描端口完成,总共用时 :%.2f' %(time.time()-start_time)
        raw_input("Press Enter to Exit")
    except:
        print u'扫描ip出错'
if __name__=='__main__':
    url=raw_input('Input the ip you want to scan:\n')
    lock=thread.allocate_lock()
    ip_scan(url)


Das obige ist der detaillierte Inhalt vonPython-Scan-Port-Skriptcode. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn