netsniff-ng是一个免费的Linux网络工具包,如果您愿意的话,可以为您的日常Linux网络配备瑞士军刀。它的性能增益是通过零拷贝机制实现的,所以在数据包接收和传输时,内核不需要将数据包从内核空间复制到用户空间,反之亦然。我们的工具包可用于网络开发和分析,调试,审计或网络侦察。
netsniff-ng工具包由以下工具组成:
- netsniff-ng,快速零拷贝分析器,pcap捕获和重放工具
- trafgen是一个多线程的低级零拷贝网络包生成器
- 用于Cisco-CLI *的HW / SW设备的高级数据包生成器mausezahn *
- bpfc,Berkeley数据包过滤器编译器,Linux BPF JIT反汇编器
- ifpps,一个顶级的内核网络统计工具
- flowtop,一个顶级的网状过滤器连接跟踪工具
- curvetun,基于轻量级曲线25519的IP隧道
- astraceroute,一种自治系统(AS)跟踪路由实用程序
官方网站:http://www.netsniff-ng.org
用法:
netsniff-ng [options] [filter-expression]
netsniff-ng [选项] [过滤器表达式]
选项:
-i | -d | --dev | --in <dev | pcap | - > 输入源为netdev,pcap或pcap stdin
-o | --out <dev | pcap | dir | cfg | - > 输出为netdev,pcap,目录,trafgen或stdout
-C | --fanout-group <id> 加入数据包扇出组
-K | --fanout-type <type> 应用扇出规则:hash | lb | cpu | rnd | roll | qm
-L | --fanout-opts <opts> 其他扇出选项:碎片整理|滚动
-f | --filter <bpf-file | - | expr> 从bpfc文件/ stdin或类似tcpdump的表达式使用BPF过滤器
-t | --type <type> 过滤:host | broadcast | multicast | others | outgoing
-F | --interval <size | time> 转储间隔如果-o是dir:<num> KiB / MiB / GiB / s / sec / min / hrs
-R | --rfraw 捕获或注入原始802.11帧
-n | --num <0 | uint> 直到退出的数据包数量(def:0)
-P | --prefix <name> 存储在目录中的pcaps的前缀
-T | --magic <pcap-magic> 要存储的Pcap幻数/ pcap格式,请参阅-D
-w | --cooked 使用Linux“熟”标题,而不是链接标题
-D | --dump-pcap-types 转储pcap类型和幻数并退出
-B | --dump-bpf 转储生成的BPF程序集
-r | --rand 随机数据包转发顺序(dev-> dev)
-M | --no-promisc 没有混杂的netdev模式
-A | --no-sock-mem 不要调整核心套接字内存
-N | --no-hwtimestamp 禁用硬件时间戳记
-m | --mmap Mmap(2)pcap文件I / O,例如用于重放pcaps
-G | --sg 散布/收集pcap文件I / O
-c | --clrw 使用较慢的读取(2)/写入(2)I / O
-S | --ring-size <size> 指定铃声大小为:<num> KiB / MiB / GiB
-k | --kernel-pull <uint> 从我们的用户区间拉取内核(def:10us)
-J | - jumbo-support 支持重播/ fwd 64KB超大帧(def:2048B)
-b | --bind-cpu <cpu> 绑定到特定的CPU
-u | --user <userid> 删除权限并更改为userid
-g | --group <groupid> 删除权限并更改为groupid
-H | --prio-high 创建这个高优先级的进程
-Q | --notouch-irq 请勿触摸NIC的IRQ CPU关联
-s | --silent 不要打印捕获的数据包
-q | --less 打印较少的详细信息包信息
-X | --hex 以十六进制格式打印分组数据
-l | --ascii 打印可读的数据包数据
-U | --update 更新GeoIP数据库
-V | --verbose 更冗长
-v | --version 显示版本并退出
-h | --help 猜猜怎么样?
示例:
netsniff-ng --in eth0 --out dump.pcap -s -T 0xa1b2c3d4 --b 0 tcp or udp
netsniff-ng --in wlan0 --rfraw --out dump.pcap --silent --bind-cpu 0
netsniff-ng --in dump.pcap --mmap --out eth0 -k1000 --silent --bind-cpu 0
netsniff-ng --in dump.pcap --out dump.cfg --silent --bind-cpu 0
netsniff-ng --in dump.pcap --out dump2.pcap --silent tcp
netsniff-ng --in eth0 --out eth1 --silent --bind-cpu 0 -J --type host
netsniff-ng --in eth1 --out /opt/probe/ -s -m --interval 100MiB -b 0
netsniff-ng --in vlan0 --out dump.pcap -c -u `id -u bob` -g `id -g bob`
netsniff-ng --in any --filter http.bpf --jumbo-support --ascii -V
netsniff-ng使用效果与评价:
此款工具还是非常不错的,为什么说它不错?是因为它有一个官网。但是还是要借助一些其它的工具才可以查看pcap数据包等;
注意:为了引入误码,随机变化的延迟等等,同时重放pcaps,需要利用工具tc(8)及其它工具(如netem);
在线视频:
优酷:
腾讯:
爱奇艺:
乐视: