UDPX 轻量级高速单数据包UDP扫描器

UDPX 轻量级高速单数据包UDP扫描器

UDPX简介

UDPX 轻量级高速单数据包UDP扫描器

UDPX 快速且轻量级,是一种用 Go 编写的单数据包 UDP 扫描器,支持发现超过 45 种服务,并能够添加自定义服务。它易于使用和便携,可以在 Linux、Mac OS 和 Windows 上运行(跨平台)。与 zgrab2 和 zmap 等互联网范围的扫描仪不同,UDPX 专为便携性和易用性而设计。

  • 它很快。它可以在大约 20 秒内为单个服务扫描整个 /16 网络(65535个ip)。
  • 不需要安装 libpcap 或任何其他依赖项。
  • 可以在 Linux、Mac Os、Windows 上运行。或者你的 Nethunter,如果你是为 Arm 构建的。
  • 可定制。您可以添加探针并测试更多协议。
  • 以 JSONL 格式存储结果。
  • 还可以扫描域名。

工作原理

扫描 UDP 端口与扫描 TCP 有很大不同——您可能会或可能不会从探测 UDP 端口得到任何结果,因为 UDP 是一种无连接协议。UDPX 实施基于单数据包的方法。特定于协议的数据包被发送到定义的服务(端口)并等待响应。该限制默认设置为 500 毫秒,可以通过-w标志更改。如果服务在这段时间内发回数据包,则可以肯定它确实在该端口上侦听并报告为打开。

一种典型的技术是向目标机器上的每个端口发送 0 字节的 UDP 数据包。如果我们收到“ICMP Port Unreachable”消息,则该端口已关闭。如果收到对探测器的 UDP 响应(异常),则端口打开。如果我们根本没有收到任何响应,则状态为打开或已过滤,这意味着端口已打开或数据包过滤器正在阻止通信。此方法未实现,因为没有附加值(UDPX 仅针对特定协议进行测试)。

UDPX 轻量级高速单数据包UDP扫描器

udpx下载地址

①GitHub:

②匿名网盘:

UDPX_www_ddosi_org_rar
解压密码:www.ddosi.org

用法

UDPX 轻量级高速单数据包UDP扫描器

⚠️ 并发性:默认情况下,并发性仅设置为 32 个连接(因此您不会崩溃)。如果您有很多主机要扫描,您可以将其设置为 128 或 256 个连接。根据您的硬件、连接稳定性和 ulimit(在 *nix 上),您可以运行 512 个或更多并发连接,但不建议这样做。

扫描单个 IP:

udpx -t 1.1.1.1

要扫描最多 128 个连接和 1000 毫秒超时的 CIDR:

udpx -t 1.2.3.4/24 -c 128 -w 1000

仅针对特定服务从最多 128 个连接的文件中扫描目标:

udpx -tf targets.txt -c 128 -s ipmi

目标可以是:

  • IP地址
  • CIDR
  • 域名

支持 IPv6。

如果要存储结果,请使用 flag -o [filename]。输出为 JSONL 格式,如下所示:

{"address":"45.33.32.156","hostname":"scanme.nmap.org","port":123,"service":"ntp","response_data":"JAME6QAAAEoAAA56LU9vp+d2ZPwOYIyDxU8jS3GxUvM="}

选项


        __  ______  ____ _  __
       / / / / __ \/ __ \ |/ /
      / / / / / / / /_/ /   /
     / /_/ / /_/ / ____/   |
     \____/_____/_/   /_/|_|
         v1.0.2-beta, by @nullt3r

Usage of ./udpx-linux-amd64:
  -c int
    	最大并发连接数(默认32)
  -nr
    	不随机化地址
  -o string
    	用于写入结果的输出文件
  -s string
    	只扫描特定的服务,以下的其中之一: ard, bacnet, bacnet_rpm, chargen, citrix, coap, db, db, digi1, digi2, digi3, dns, ipmi, ldap, mdns, memcache, mssql, nat_port_mapping, natpmp, netbios, netis, ntp, ntp_monlist, openvpn, pca_nq, pca_st, pcanywhere, portmap, qotd, rdp, ripv, sentinel, sip, snmp1, snmp2, snmp3, ssdp, tftp, ubiquiti, ubiquiti_discovery_v1, ubiquiti_discovery_v2, upnp, valve, wdbrpc, wsd, wsd_malformed, xdmcp, kerberos, ike
  -sp
    	显示接收到的数据包(仅前32字节)
  -t string
    	要扫描的IP/CIDR
  -tf string
    	包含要扫描的ip / cidr的文件
  -w int
    	等待响应的最大时间(套接字超时),单位为ms(默认为500)

构建

您可以在发布部分获取预构建的二进制文件。如果您想从源代码构建 UDPX,请按照以下步骤操作:

来自git:

git clone https://github.com/nullt3r/udpx
cd udpx
go build ./cmd/udpx

您可以在当前目录中找到二进制文件。

或者使用Go:

go install -v github.com/nullt3r/udpx/cmd/udpx@latest

之后,您可以在$HOME/go/bin/udpx. 如果需要,将二进制移动到/usr/local/bin/,以便您可以直接调用它。

支持的服务

UDPX 支持超过 45 种服务。最有趣的是:

  • ipmi
  • snmp
  • ike
  • tftp
  • openvpn
  • kerberos
  • ldap

支持服务的完整列表:

  • ard
  • bacnet
  • bacnet_rpm
  • chargen
  • citrix
  • coap
  • db
  • db
  • digi1
  • digi2
  • digi3
  • dns
  • ipmi
  • ldap
  • mdns
  • memcache
  • mssql
  • nat_port_mapping
  • natpmp
  • netbios
  • netis
  • ntp
  • ntp_monlist
  • openvpn
  • pca_nq
  • pca_st
  • pcanywhere
  • portmap
  • qotd
  • rdp
  • ripv
  • sentinel
  • sip
  • snmp1
  • snmp2
  • snmp3
  • ssdp
  • tftp
  • ubiquiti
  • ubiquiti_discovery_v1
  • ubiquiti_discovery_v2
  • upnp
  • valve
  • wdbrpc
  • wsd
  • wsd_malformed
  • xdmcp
  • kerberos
  • ike

如何添加自己的探针?

请发送带有协议名称和端口的功能请求,我会实现它。或者自己添加,该文件pkg/probes/probes.go包含所有可用的有效载荷。指定协议名称、端口和数据包数据(十六进制编码)。

{
        Name: "ike",
        Payloads: []string{"5b5e64c03e99b51100000000000000000110020000000000000001500000013400000001000000010000012801010008030000240101"},
        Port: []int{500, 4500},
},

免责声明

我不对任何损害负责。您对自己的行为负责。未经双方事先同意扫描或攻击目标可能是非法的。

项目地址:

GitHub:
https://github.com/nullt3r/udpx

转载请注明出处及链接

Leave a Reply

您的邮箱地址不会被公开。 必填项已用 * 标注