burpheart / xdpscan

一个基于eBPF/XDP的高性能端口扫描器 A High-Performance Port Scanner Based on eBPF/XDP

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

xdpscan

一个基于eBPF/XDP的高性能端口扫描器,支持TCP SYN和ICMP扫描模式。

使用方法

在命令行中,可以使用以下参数来运行扫描器:

  • -i:要附加的网络接口 默认eth0。
  • -t:每秒发送的数据包的速率限制。
  • -p:要扫描的TCP端口,可以是单个端口,也可以是端口范围 默认80,443。
  • -srcmac:发送数据包的源MAC地址 为空自动获取。
  • -dstmac:发送数据包的目标MAC地址 为空自动获取。
  • -srcip:发送数据包的源IP地址 为空自动获取。
  • -in:包含目标IP/CIDR列表的输入文件,或者直接作为参数传递。
  • -out:将结果写入的输出文件,默认为stdout。
  • -srcport:TCP源端口 默认1234。
  • -d:是否启用调试模式。
  • -m:扫描模式,可以是icmp或syn。
  • -xr:是否使用XDP进行包捕获。
  • -fn:在XDP套接字中使用的帧数。

例如,以下命令将在网络接口eth0上以每秒100000个数据包的速率,扫描TCP端口80和443:

./xdpscan -i eth0 -t 100000 -m syn -p 80,443 1.1.1.1

已知问题

Linux内核需要支持eBPF 并使用支持XDP的网卡 网卡驱动支持列表

某些虚拟网卡只支持单队列,网卡在高速发包的同时通过XDP捕获数据包会出现性能问题。

注意事项

在探测单一网络时发包速率过高,可能会导致目标网络瘫痪。

项目仅用于研究目的,请在授权范围的测试网络进行扫描探测,不要用于互联网上未经授权的网络扫描。

About

一个基于eBPF/XDP的高性能端口扫描器 A High-Performance Port Scanner Based on eBPF/XDP


Languages

Language:Go 97.2%Language:C 2.8%