Ubuntu Sniffer的核心定位
Ubuntu Sniffer(如tcpdump、Wireshark、tshark等)本质是网络流量监控与分析工具,核心功能是通过捕获、解析数据包,识别异常流量(如DDoS攻击、端口扫描)、辅助威胁检测(如与IDS联动),但不具备主动流量控制能力(如限制带宽、整形流量)。流量控制需借助其他专用工具实现。
Ubuntu中实现流量控制的常用方法
tc命令(Traffic Control)——流量控制核心工具tc是Linux内核提供的流量控制框架,可实现带宽限制、优先级调度、延迟控制等高级策略,是Ubuntu下最常用的流量控制工具。
基本操作步骤:
tc命令):sudo apt-get update && sudo apt-get install iproute2
sudo tc qdisc add dev eth0 root handle 1: htb default 30 # eth0为目标接口,default 30表示未匹配流量的默认类别
sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 1mbit ceil 1mbit # rate为最低保障带宽,ceil为最高允许带宽
sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.1.100 flowid 1:1 # 将目标IP为192.168.1.100的流量归入1:1类
更多高级用法(如多层级带宽分配、延迟设置)可参考tc官方文档。wondershaper——简易带宽限制工具wondershaper是基于tc的脚本工具,通过简化命令实现带宽的快速限制,适合普通用户快速配置上传/下载速度。
安装与使用:
sudo apt-get update && sudo apt-get install wondershaper
sudo wondershaper eth0 1024 512 # 参数顺序:接口 上行速度(Kbps) 下行速度(Kbps)
sudo wondershaper clear eth0
该工具适合家庭或小型办公场景,快速控制网络接口的总带宽。nethogs——实时监控进程带宽占用nethogs是进程级带宽监控工具,可实时显示每个进程的网络带宽使用情况,帮助识别占用带宽的“罪魁祸首”(如大型下载软件、视频流),但无法直接限制带宽,需结合tc或wondershaper实现控制。
安装与使用:
sudo apt-get update && sudo apt-get install nethogs
sudo nethogs eth0
输出结果会显示进程名、PID、发送/接收速率(如firefox 1234 50KB/s 20KB/s),便于针对性处理。iftop——实时监控接口带宽使用iftop是接口级带宽监控工具,可实时显示网络接口的带宽使用情况(如上传/下载速率、连接IP),帮助识别带宽瓶颈,但无法直接限制带宽,需配合其他工具使用。
安装与使用:
sudo apt-get update && sudo apt-get install iftop
sudo iftop -i eth0
输出结果会按带宽使用排序,显示连接IP、端口、速率(如192.168.1.100:443 => 1.2Mb/s),便于快速定位高带宽应用。trickle——限制单个应用程序带宽trickle是用户空间带宽限制工具,通过替换程序的套接字库,实现对单个应用程序的带宽限制(如限制Firefox下载速度),无需root权限。
安装与使用:
sudo apt-get update && sudo apt-get install trickle
trickle -u 100 scp backup.tgz alice@remote_host.com:
trickle -d 300 firefox %u
适合需要限制特定应用带宽的场景(如避免下载软件占用过多带宽)。注意事项
tc适合复杂场景(如多层级带宽分配),wondershaper适合快速配置,trickle适合限制单个应用。tc或wondershaper时,需确保对目标网络接口有足够的权限(通常需要root)。