python端口扫描

'''
python端口扫描 by 郑瑞国
1、扫描主机指定端口
   (1)建立网络套接字
   (2)设置网络超时
   (3)建立连接
   (4)打印端口
   (5)关闭端口
2、扫描主机所有端口
   (1)循环遍历1到最大端口
   (2)启动多线程扫描端口
   (3)短暂休眠等待
'''
import socket
import time
import threading

def scan_port(ip,port):                                 #1、扫描主机指定端口
    try:
        s = socket.socket()                                 #(1)建立网络套接字
        s.settimeout(0.001)                                 #(2)设置网络超时
        s.connect((ip,port))                                #(3)建立连接
        print(port)                                         #(4)打印端口
        s.close()                                           #(5)关闭端口
    except:
        pass

def scan_all_port(ip,max_port):                         #2、扫描主机所有端口
    for port in range(1,max_port):                          #(1)循环遍历1到最大端口
        threading._start_new_thread(scan_port,(ip,port))    #(2)启动多线程扫描端口
        time.sleep(0.001)                                   #(3)短暂休眠等待

if __name__ == '__main__':
    ip = socket.gethostbyname(socket.gethostname())
    scan_all_port(ip,65535)

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值