Python3多线程版TCP端口扫描器

Python3 多线程版 TCP 端口扫描器是一款基于 Python3 的网络工具,主要用于快速扫描主机开启的 TCP 端口。以下是该工具的完整攻略:

1. 环境准备

首先需要在本地电脑上安装 Python3 编程环境。进入 Python3 官方网站 https://www.python.org/downloads/,下载并安装最新版本的 Python3。

2. 安装第三方模块

在使用 TCP 端口扫描器之前,还需要安装 Python 的第三方模块 scapy 和 threading,可以通过以下命令进行安装:

pip3 install scapy
pip3 install threading

3. 编写代码

创建一个名为 port_scanner.py 的文件,并复制以下代码:

import argparse
import threading
from scapy.all import *

def scanner(ip, port):
    syn = IP(dst=ip)/TCP(dport=port, flags="S")
    res = sr1(syn, timeout=1, verbose=0)
    if res:
        if res.haslayer(TCP) and res[TCP].flags == 18:
            print(f"[*] {ip}:{port} is open")
    return

def port_scan(ip, ports):
    for port in range(ports[0], ports[1] + 1):
        t = threading.Thread(target=scanner, args=(ip, port))
        t.start()

def main():
    parser = argparse.ArgumentParser(description="TCP port scanner")
    parser.add_argument("-t", "--target", dest="target", type=str, help="target IP address")
    parser.add_argument("-p", "--ports", dest="ports", type=str, help="port range, example: 1-65535")
    args = parser.parse_args()
    if not args.target or not args.ports:
        parser.print_help()
        exit(0)
    ip = args.target
    ports = args.ports.split("-")
    ports = [int(ports[0]), int(ports[1])]
    port_scan(ip, ports)

if __name__ == "__main__":
    main()

4. 运行程序

通过以下命令启动程序:

python3 port_scanner.py -t 127.0.0.1 -p 1-1000

其中 -t 参数指定所要扫描的 IP 地址,-p 参数指定扫描的端口范围。如果想要扫描所有端口范围,可以指定 -p 参数为 1-65535

5. 示例说明

以下是两个示例:

  1. 扫描自己的电脑

执行以下命令:python3 port_scanner.py -t 127.0.0.1 -p 1-1000

结果如下:

[*] 127.0.0.1:22 is open
[*] 127.0.0.1:80 is open
[*] 127.0.0.1:443 is open
[*] 127.0.0.1:631 is open

此示例中,扫描的是本地电脑的 IP 地址 127.0.0.1,并指定扫描的端口范围为 1-1000,扫描结果显示了常见的一些端口是否开启。其中,22 端口为 SSH 端口,80 端口为 HTTP 端口,443 端口为 HTTPS 端口,631 端口为 CUPS 打印机服务端口。

  1. 扫描公网主机

执行以下命令:python3 port_scanner.py -t 8.8.8.8 -p 1-65535

结果如下:

[*] 8.8.8.8:53 is open
[*] 8.8.8.8:80 is open
[*] 8.8.8.8:443 is open
[*] 8.8.8.8:853 is open

此示例中,扫描的是公网的主机地址 8.8.8.8,并指定扫描的端口范围为 1-65535,扫描结果也显示了常见的一些端口是否开启。其中,53 端口为 DNS 服务端口,80 端口为 HTTP 端口,443 端口为 HTTPS 端口,853 端口为 DNS-over-TLS 服务端口。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python3多线程版TCP端口扫描器 - Python技术站

(0)
上一篇 2023年6月6日
下一篇 2023年6月6日

相关文章

  • Python必备技巧之字典(Dictionary)详解

    Python必备技巧之字典(Dictionary)详解 什么是字典? 字典(dictionary)是Python中的一种数据类型,它是一种无序的可变集合,可以存储任意数量的Python对象,它们之间的关系不是通过位置而是通过键来建立的。字典是用大括号{}来声明的,其中每个元素由一个键和一个值组成,它们之间用冒号来分隔。例如: my_dict = {‘name…

    python 2023年5月13日
    00
  • python批量提取word内信息

    下面我将为您提供“Python批量提取Word内信息”的完整攻略。 一、准备工作 安装python-docx库 pip install python-docx 准备需要批量提取信息的Word文档 二、代码实现 以下是代码示例: from docx import Document import os # 设置Word文件所在文件夹路径和关键词 file_dir…

    python 2023年6月3日
    00
  • python在开放式办公室中自动填写导入文本

    【问题标题】:python to auto fill in import text in open officepython在开放式办公室中自动填写导入文本 【发布时间】:2023-04-03 23:55:01 【问题描述】: (Apache Open Office 中的字符集、分隔符选项和字段) 我拥有的原始文件是一个 csv 文件。我想使用 python…

    Python开发 2023年4月8日
    00
  • Python聚类算法之DBSACN实例分析

    Python聚类算法之DBSCAN实例分析 DBSCAN是一种基于密度的聚类算法,可以自动发现任意形状的簇,并能够在噪声数据中识别出离群值。本文将详细讲解Python实现DBSCAN算法的整个攻略,包括算法原理、实现过程和示例。 算法原理 DBSCAN算法的基本思想是将数据点分为核心点、边界点和噪声点。核点是指在半径为ε内至少有minPts个点的点,边界点是…

    python 2023年5月14日
    00
  • python中lower函数实现方法及用法讲解

    Python中lower函数实现方法及用法讲解 什么是lower函数 Python中的lower()函数是一个字符串方法(String Method),用于将大写字母转换成小写字母。 lower函数的语法 下面是lower函数的语法: str.lower() 在该语法中,str表示要进行大小写转换的原始字符串。 lower函数的用法 下面是lower函数的示…

    python 2023年6月5日
    00
  • Python+selenium实现趣头条的视频自动上传与发布

    下面是Python+selenium实现趣头条的视频自动上传与发布的完整攻略: 目录 确认环境 登录趣头条并获取cookie 上传视频 发布视频 1. 确认环境 首先确认你的电脑已经安装了Chrome浏览器和对应版本的chromedriver驱动程序,并且已经配置好系统环境变量,可以通过在命令行中输入“chromedriver”命令测试是否可用。 2. 登录…

    python 2023年6月3日
    00
  • 详解python实现多张多格式图片转PDF并打包成exe

    标题 首先我们需要给这篇攻略添加一个标题,以便读者能够清楚知道我们要介绍的内容: 详解python实现多张多格式图片转PDF并打包成exe攻略 简介 在正式开始介绍实现方法之前,我们需要先简单介绍一下这个攻略的目的和优点: 这篇攻略主要介绍如何使用Python将多张多格式的图片文件转换成PDF文件,并将其打包成exe文件,方便在其他电脑上使用。Python作…

    python 2023年6月5日
    00
  • 如何在 Windows 上安装 PyGI(Python Gobject Introspection)?

    【问题标题】:How to install PyGI (Python Gobject Introspection) on Windows?如何在 Windows 上安装 PyGI(Python Gobject Introspection)? 【发布时间】:2023-04-02 18:06:01 【问题描述】: 安装python解释器:http://pytho…

    Python开发 2023年4月8日
    00
合作推广
合作推广
分享本页
返回顶部