python socket 编写普通端口扫描器

话不多说,上代码(原理:利用socket套接字挨个连接目标端口,成功则输出open,失败则跳过)

from socket import *
import time

def ping():
    ping = os.system('ping')
    print(ping)

def handle(ip,port):
    try:
        client = socket(AF_INET,SOCK_STREAM)
        #client = socket()  默认TCP
        client.settimeout(2)  #设置超时两秒,超过就默认关闭
        client.connect((ip,port))
        print(f"{ip}:{port}open",end = '\n') 
    except:
        # print(f"{port}不开放")
        pass
    client.close()

if __name__ == "__main__":
    ip = "43.248.190.4"
    list_port = [20,21,22,23,25,53,80,81,102,109,110,119,135,137,138,139,161,443,554,1024,1080,1755,4000,5554,5632,8080] #一般端口
    for i in list_port:
        print(f"正在扫描:{i}",end = '\r')#不断刷新当行
        handle(ip,i)
                                    **^蕾姆(* ̄(oo) ̄)镇楼^**

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值