python实现简单的端口扫描器
2021-01-04 14:24:01 Author: www.freebuf.com(查看原文) 阅读量:117 收藏

freeBuf

主站

分类

漏洞 工具 极客 Web安全 系统安全 网络安全 无线安全 设备/客户端安全 数据安全 安全管理 企业安全 工控安全

特色

头条 人物志 活动 视频 观点 招聘 报告 资讯 区块链安全 标准与合规 容器安全 公开课

官方公众号企业安全新浪微博

FreeBuf.COM网络安全行业门户,每日发布专业的安全资讯、技术剖析。

FreeBuf+小程序

FreeBuf+小程序

声明:本脚本仅用于学习交流,请勿用于非法途径,造成的任何后果与本人无关

使用三方库:socket,threadpool

测试目标:127.0.0.1

程序原理:

使用socket对目标+端口创建连接,如果存在则代表端口开放

程序运行结果:

1609737692_5ff2a5dc0593c02f5d225.png!small

程序代码:

#!/usr/bin/python
# -*- coding: UTF-8 -*-
'''
多线程目录扫描器
作者:木尤
声明:本脚本仅用于学习交流,请勿用于非法途径,造成的任何后果与本人无关
要点:需要安装requests,threadpool这俩个库
'''

import socket,threadpool
ports=[]
def scan_poort(port):
    ip='127.0.0.1'
    s=socket.socket(socket.AF_INET,socket.SOCK_STREAM)
    try:
        statu=s.connect_ex((ip,port))
        if statu==0:
            print(port,'is open')
    except:
        pass

def get_port():
    global ports
    for p in range(65536):
        ports.append(p)

get_port()
pool=threadpool.ThreadPool(100)
reqs=threadpool.makeRequests(scan_poort,ports)
[pool.putRequest(req) for req in reqs]
pool.wait()

文章来源: https://www.freebuf.com/sectool/259717.html
如有侵权请联系:admin#unsafe.sh