目录导航
UDPX简介

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下载地址
①GitHub:
- udpx-darwin-amd64.zip 1.56 MB
- udpx-darwin-arm64.zip 1.5MB
- udpx-linux-386.zip 1.51MB
- udpx-linux-amd64.zip 1.61MB
- udpx-windows-386.zip 1.49MB
- udpx-windows-amd64.zip 1.54MB
②匿名网盘:
UDPX_www_ddosi_org_rar
解压密码:www.ddosi.org
用法

⚠️ 并发性:默认情况下,并发性仅设置为 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
转载请注明出处及链接