netsniff-ng是一個免費的Linux網絡分析器和網絡工具包,最初由 Daniel Borkmann 編寫。它的性能增益是通過網絡數據包(RX_RINGTX_RING)的零複製機制來實現的,[4]因此Linux 內核不需要通過系統調用(例如recvmsg)將數據包從內核空間複製到用戶空間[5]libpcap從 1.0.0 版開始,也支持 Linux 上用於捕獲(RX_RING)的零拷貝機制 ,因此使用 libpcap 的程序也在 Linux 上使用同一機制。

netsniff-ng toolkit
原作者Daniel Borkmann
開發者Daniel Borkmann,Tobias Klauser,Herbert Haas,Emmanuel Roullit,Markus Amend和其他人
首次發布2009年12月,​14年前​(2009-12
當前版本
  • 0.6.8 (2021年1月11日;穩定版本)[1]
編輯維基數據鏈接
源代碼庫https://github.com/netsniff-ng/netsniff-ng
編程語言C語言
操作系統Linux
語言英文
類型
許可協議GPLv2[2]
網站http://netsniff-ng.org[3]

概述 編輯

netsniff-ng 最初是作為網絡嗅探器創建的,它支持用於網絡數據包Linux 內核packet-mmap英語mmap接口。但後來添加了更多工具,例如iproute2套件,以使其成為有用的工具包。通過內核的零拷貝接口,即使在商用硬件上也可以實現高效的數據包處理。例如,使用 netsniff-ng 的 trafgen 已達到千兆以太網線速。[6][7]netsniff-ng 工具包不依賴於libpcap庫。此外,運行該工具包不需要特殊的操作系統補丁。netsniff-ng 是自由軟件,根據GNU 通用公共許可證第 2 版的條款發布。

該工具包目前包括網絡分析器、數據包捕獲器和中繼器、線速流量生成器、加密的多用戶IP隧道伯克利數據包過濾器編譯器、網絡統計工具、自治系統跟蹤路由等。[8]

  • netsniff-ng,零拷貝分析器、數據包捕獲器和回放器,本身支持pcap文件格式
  • trafgen,零拷貝線速流量生成器
  • mausezahn英語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]網絡安全工具包英語Network Security Toolkit中。[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
  • 對於高速網絡數據包流量生成英語Network traffic simulation,並以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]

參見 編輯

參考來源 編輯

  1. ^ 1.0 1.1 Release 0.6.8. 2021年1月11日 [2021年1月13日]. 
  2. ^ netsniff-ng license. [2021-12-20]. (原始內容存檔於2021-12-24). 
  3. ^ https://api.github.com/repos/borkmann/netsniff-ng; 檢索日期: 2018年7月29日.
  4. ^ Description of the Linux packet-mmap mechanism. [2011-11-06]. (原始內容存檔於2021-12-21). 
  5. ^ netsniff-ng homepage, abstract, zero-copy. [2011-11-06]. (原始內容存檔於2016-09-08). 
  6. ^ Network Security Toolkit Article about trafgen's performance capabilities. [2011-11-06]. (原始內容存檔於2022-02-14). 
  7. ^ Developer's blog about trafgen's performance. 2011-10-16 [2011-11-06]. (原始內容存檔於2012-04-25). 
  8. ^ netsniff-ng README. [2018-02-16]. (原始內容存檔於2022-01-22). 
  9. ^ netsnif-ng in Debian. [2022-03-27]. (原始內容存檔於2021-12-21). 
  10. ^ Xplico support of netsniff-ng. [2011-11-06]. (原始內容存檔於2021-12-21). 
  11. ^ Security Onion 12.04 RC1 available now!. [2012-12-16]. 
  12. ^ Network Security Toolkit adds netsniff-ng. [2011-11-06]. (原始內容存檔於2021-06-24). 
  13. ^ netsniff-ng's trafgen at University of Napoli Federico II. [2011-11-07]. (原始內容存檔於2011-11-10). 
  14. ^ netsniff-ng's trafgen at Columbia University. [2011-11-07]. (原始內容存檔於2021-08-26). 
  15. ^ netsniff-ng FAQ declining a port to Microsoft Windows. [2015-06-21]. (原始內容存檔於2021-06-13). 

外部連結 編輯