Ubuntu 下 Sniffer 与流量控制的定位与组合
在 Linux 语境中,Sniffer通常指用于抓取与分析网络流量的工具(如 tcpdump),其职责是“观测”而非“限速/整形”。若要进行网络流量控制(限速、延迟、优先级、丢弃等),应使用内核的 tc(Traffic Control) 框架;若需要按规则阻断/放行或限流,可配合 iptables/nftables 使用。典型分工如下:
使用 tc 进行流量整形与限速
sudo tc qdisc add dev eth0 root handle 1: htb default 30 sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 20mbit ceil 50mbit sudo tc class add dev eth0 parent 1:1 classid 1:20 htb rate 10mbit ceil 30mbit sudo tc class add dev eth0 parent 1:1 classid 1:30 htb rate 5mbit ceil 5mbit sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 80 0xffff flowid 1:10 sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 443 0xffff flowid 1:20 说明:将接口总带宽设为 100mbit,把 80/443 分别放入 20/10mbit 的保证带宽(上限 50/30mbit),其余流量进入 5mbit 的默认类。sudo tc qdisc add dev eth0 root handle 1: prio sudo tc qdisc add dev eth0 parent 1:1 handle 10: netem delay 100ms 20ms sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 22 0xffff flowid 1:1 说明:对 22 端口之外的流量增加 100ms ± 20ms 延迟,便于测试弱网场景。sudo tc qdisc del dev eth0 root tc qdisc show dev eth0 tc class show dev eth0 tc filter show dev eth0 以上命令展示了在 Ubuntu 上使用 tc 实现接口限速、按端口分流、延迟注入与规则清理的常用做法。
按规则丢弃或限流的防火墙手段
sudo iptables -A INPUT -p tcp --dport 80 -m limit --limit 25/minute --limit-burst 200 -j ACCEPT sudo iptables -A INPUT -p tcp --dport 80 -j DROP 说明:对访问 80 端口的新连接进行速率限制,超过阈值将被丢弃(常用于缓解 DoS/暴力扫描)。sudo nft add table ip filter sudo nft add chain ip filter input { type filter hook input priority 0 \; } sudo nft add rule ip filter input tcp dport 80 limit rate 25/minute burst 200 accept sudo nft add rule ip filter input tcp dport 80 drop sudo iptables-save > /etc/iptables/rules.v4 sudo nft list ruleset > /etc/nftables.conf 以上示例展示了如何用 iptables/nftables 按规则对特定端口进行速率限制与丢弃,并提供了持久化方法。
用抓包工具验证与定位
sudo tcpdump -i eth0 -nn -ttt port 80 or port 443 sudo tcpdump -i eth0 -w http_only.pcap tcp port 80 sudo iftop -i eth0 sudo nethogs eth0 vnstat -i eth0 上述工具可帮助你在应用 tc/iptables 前后对比延迟、丢包、吞吐与占用,快速验证策略是否生效。
合规与安全提示