计算机教程网

您现在的位置是:首页 > 主机教程 > 服务器运维

服务器运维

使用python编写端口扫描器

2024-10-29 20:10:25服务器运维 主机评测网
前几天看了个讲使用Python扫描端口的教程,看了之后自己也写了个扫描端口的脚本。记录下来,方便自己以后回顾。端口扫描端口效果图python扫描器 python扫描器源代码# -*- coding:utf8 -*-#!/usr/bin/python# Python: 2.7.8# Platform: Windows# Authro: wucl# P

前几天看了个讲使用Python扫描端口的教程,看了之后自己也写了个扫描端口的脚本。记录下来,方便自己以后回顾。

端口扫描端口效果图

python扫描器

 

python扫描器源代码

# -*- coding:utf8 -*-#!/usr/bin/python# Python:          2.7.8# Platform:        Windows# Authro:          wucl# Program:         端口扫描# History:         2015.6.1 import socket, time, threadsocket.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)