基于socket的端口扫描python脚本

该Python脚本是一个简单的端口扫描工具,使用多线程进行1到65535端口的扫描。它定义了一个函数`socket_scan_port`,通过指定的IP地址和起始端口,以100个端口为单位进行扫描。如果连接成功,会打印出可访问的端口号。在主程序中,用户输入要扫描的IP地址,然后启动多个线程,每个线程负责扫描100个端口。
摘要由CSDN通过智能技术生成
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
"""
@Project :python-learn 
@File    :socket端口扫描.py
@Author  :星之尘
@Date    :2023/6/12 20:06 
@脚本说明:
"""
import threading
import threading
from socket import socket


def socket_scan_port(ip,port_start):
    """
    端口范围有点广,1~65535,可以上创建几个线程
    :param ip:
    :param port_start: 从多少端口开始扫描1,101,201,301……
    :return:
    """
    #为什么要加100??range(1,101) range(101,201)
    for port in range(port_start,port_start+100):
        try:
            skt =socket()
            #超时的情况,超过0.5s没有连接成功,则不用连接了。
            skt.settimeout(0.5)
            #这个就是连接对应ip+port
            skt.connect((ip,port))
            print(f'{port}可以访问的')
            skt.close()
        except:
            pass

if __name__ == '__main__':
    ip=input('请输入要扫描的ip:')
    #100 step 启动了100个线程,每个线程跑100个端口
    for port in range(1,70000,100):
        # print(port)
        thread1 = threading.Thread(target=socket_scan_port,args=(ip,port))
        thread1.start()
效果图

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值