netsniff-ng
netsniff-ng是一个免费的Linux网络分析器和网络工具包,最初由 Daniel Borkmann 编写。它的性能增益是通过网络数据包(RX_RING
、TX_RING
)的零复制机制来实现的,[4]因此Linux 内核不需要通过系统调用(例如recvmsg
)将数据包从内核空间复制到用户空间。 [5]libpcap从 1.0.0 版开始,也支持 Linux 上用于捕获(RX_RING
)的零拷贝机制 ,因此使用 libpcap 的程序也在 Linux 上使用同一机制。
原作者 | Daniel Borkmann |
---|---|
開發者 | Daniel Borkmann,Tobias Klauser,Herbert Haas,Emmanuel Roullit,Markus Amend和其他人 |
首次发布 | 2009年12月 |
当前版本 | 0.6.8[1](2021年1月11日) |
源代码库 | https://github.com/netsniff-ng/netsniff-ng |
编程语言 | C語言 |
操作系统 | Linux |
语言 | 英文 |
类型 | |
许可协议 | GPLv2[2] |
网站 | http://netsniff-ng.org[3] |
概述
netsniff-ng 最初是作为网络嗅探器创建的,它支持用于网络数据包的Linux 内核packet-mmap接口。但后来添加了更多工具,例如iproute2套件,以使其成为有用的工具包。通过内核的零拷贝接口,即使在商用硬件上也可以实现高效的数据包处理。例如,使用 netsniff-ng 的 trafgen 已达到千兆以太网线速。[6][7]netsniff-ng 工具包不依赖于libpcap库。此外,运行该工具包不需要特殊的操作系统补丁。netsniff-ng 是自由软件,根据GNU 通用公共许可证第 2 版的条款发布。
该工具包目前包括网络分析器、数据包捕获器和中继器、线速流量生成器、加密的多用户IP隧道、伯克利数据包过滤器编译器、网络统计工具、自治系统跟踪路由等。[8]
netsniff-ng
,零拷贝分析器、数据包捕获器和回放器,本身支持pcap文件格式trafgen
,零拷贝线速流量生成器mausezahn
,一个数据包生成器和分析器,用于带有 Cisco-CLI 的 HW/SW 设备bpfc
,伯克利包过滤器编译器ifpps
,一个类似top的内核网络统计工具flowtop
,一个类似top的netfilter连接跟踪工具,带有Geo-IP信息curvetun
, 一种基于椭圆曲线密码学的轻量级多用户IP 隧道astraceroute
,具有地理 IP 信息的自治系统跟踪路由实用程序
发行版特定软件包可用于所有主要操作系统发行版,例如Debian[9]或Fedora Linux。它还被添加到Xplico的网络取证工具包、[10]GRML Linux、SecurityOnion、[11]和网络安全工具包中。[12] netsniff-ng 工具包也用于学术界。[13][14]
netsniff-ng 基本命令範例
所有示例均假设eth0是使用的网络接口,在使用時需要因實際情況調節。netsniff-ng 套件中的程序接受长选项,例如,--in(-i)、--out(-o)、--dev(-d)。
- 对于到网站的地理 AS TCP SYN探测跟踪路由:
astraceroute -d eth0 -N -S -H $HOSTNAME
,當中$HOSTNAME
爲一個域名 - 对于混杂模式下的内核网络统计信息:
ifpps -d eth0 -p
- 对于高速网络数据包流量生成,並以
trafgen.txf
是数据包配置:trafgen -d eth0 -c trafgen.txf
- 编译伯克利包过滤器
(fubar.bpf)
:bpfc fubar.bpf
- 对于当前 TCP 连接的实时跟踪(包括协议、应用程序名称、源和目标的城市和国家):
flowtop
- 为了在pcap文件中有效地转储並分析网络流量:
netsniff-ng -i eth0 -o dump.pcap -s -b 0
平台
netsniff-ng工具包目前仅在Linux系统上运行。它的开发人员拒绝將其移植到Microsoft Windows。[15]
參見
参考來源
- ^ Release 0.6.8. 2021年1月11日 [2021年1月13日].
- ^ netsniff-ng license. [2021-12-20]. (原始内容存档于2021-12-24).
- ^ https://api.github.com/repos/borkmann/netsniff-ng; 检索日期: 2018年7月29日.
- ^ Description of the Linux packet-mmap mechanism. [2011-11-06]. (原始内容存档于2021-12-21).
- ^ netsniff-ng homepage, abstract, zero-copy. [2011-11-06]. (原始内容存档于2016-09-08).
- ^ Network Security Toolkit Article about trafgen's performance capabilities. [2011-11-06]. (原始内容存档于2022-02-14).
- ^ Developer's blog about trafgen's performance. 2011-10-16 [2011-11-06]. (原始内容存档于2012-04-25).
- ^ netsniff-ng README. [2018-02-16]. (原始内容存档于2022-01-22).
- ^ netsnif-ng in Debian. [2022-03-27]. (原始内容存档于2021-12-21).
- ^ Xplico support of netsniff-ng. [2011-11-06]. (原始内容存档于2021-12-21).
- ^ Security Onion 12.04 RC1 available now!. [2012-12-16].
- ^ Network Security Toolkit adds netsniff-ng. [2011-11-06]. (原始内容存档于2021-06-24).
- ^ netsniff-ng's trafgen at University of Napoli Federico II. [2011-11-07]. (原始内容存档于2011-11-10).
- ^ netsniff-ng's trafgen at Columbia University. [2011-11-07]. (原始内容存档于2021-08-26).
- ^ netsniff-ng FAQ declining a port to Microsoft Windows. [2015-06-21]. (原始内容存档于2021-06-13).
外部链接
- netsniff-ng 官方网站 (页面存档备份,存于互联网档案馆)
- netsniff-ng 常见问题 (页面存档备份,存于互联网档案馆)
- GitHub 上的 netsniff-ng (页面存档备份,存于互联网档案馆)
- netsniff-ng 邮件列表存档
- Linux 的数据包 mmap()、BPF 和 netsniff-ng 工具包 (页面存档备份,存于互联网档案馆),在 DevConf 上进行讨论(长)
- 数据包套接字、BPF、netsniff-ng ,在 OpenSourceDays 上讨论(短)
- Linux系统管理员工具(Administration and Privileged Commands)手册页 –