iftop可实时监控指定ip或网段带宽,tcpdump抓取指定ip端口原始包流,ss/netstat定位连接进程;三者组合实现“抓得准、看得清、不干扰”的网络吞吐监控。

监控指定 IP 或端口的实时网络吞吐,核心是“抓得准、看得清、不干扰”。Linux 下没有单一命令能覆盖所有场景,但组合使用 iftop、tcpdump 和 netstat/ss 可以快速定位并持续观察目标流量。
用 iftop 快速看指定 IP 或网段的实时带宽
iftop 最适合直观判断“谁在吃带宽”。它按连接排序,支持过滤和端口显示:
- 监控某 IP 的全部进出流量:
sudo iftop -f "host 192.168.1.100"(需 root) - 只看某 IP + 某端口(如 8080):
sudo iftop -f "host 192.168.1.100 and port 8080" - 限制显示 IPv4 网段(如 10.0.0.0/24):
sudo iftop -F 10.0.0.0/24 - 禁用 DNS 解析和端口名转换,提升响应速度:
sudo iftop -nN -f "host 192.168.1.100"
注意:iftop 默认不显示 UDP 流量(只统计 IP 层),且无法区分入站/出站方向;但它能实时刷新、支持交互式过滤(按 l 键输入 IP 可临时聚焦)。
用 tcpdump 抓取指定 IP 和端口的原始包流
当需要确认协议类型、数据方向或排查异常行为时,tcpdump 更底层可靠:
- 抓取某 IP 的所有 TCP 流量(含端口):
sudo tcpdump -nn -i eth0 host 192.168.1.100 and tcp - 仅抓该 IP 的 53 端口 UDP 包(如 DNS):
sudo tcpdump -nn -i eth0 host 192.168.1.100 and udp port 53 - 区分方向:接收(本机收)用
src host,发送(本机发)用dst host,例如:sudo tcpdump -nn -i eth0 src host 192.168.1.100 and port 8080 - 加
-w file.pcap可保存供 Wireshark 分析;加-c N限制抓 N 个包后退出
关键技巧:始终加 -nn(跳过 DNS 和服务名解析),避免延迟;指定网卡(-i)可避免混杂模式下误抓其他接口流量。
Zynq‑7000 / Zynq UltraScale+ 硬件调试技能。适用于 Xilinx Zynq(Cortex‑A9/A53 + FPGA)Linux 环境,调试 I2C、I2S、UART、GPIO 等外设。包括设备树配置、内核驱动、用户空间调试工具、交叉编译和常见问题排查,支持 PetaLinux 开发。
用 ss 或 netstat 查看该 IP/端口的连接状态与进程归属
如果想确认“哪个进程正在连这个 IP 或监听这个端口”,ss 是更现代、更快的选择:
- 查所有连向某 IP:端口的活跃连接:
ss -tunp | grep '192.168.1.100:8080' - 查本地监听 8080 端口的程序:
ss -tlnp | grep ':8080' - 配合 netstat(若系统有):
netstat -tunp | grep 192.168.1.100,但需 root 才能看到-p进程信息
注意:ss -tunp 中 t=TCP、u=UDP、n=数字地址、p=进程(需权限),比 netstat 更轻量,推荐优先使用。
进阶:文本模式 iftop 配合脚本做轻量级记录
iftop 本身不存历史,但可用 -t 文本模式输出到管道,实现定时采样:
- 每 2 秒输出一次 top10 连接(含 IP+端口):
sudo iftop -t -s 1 -L 10 -nN -f "host 192.168.1.100" 2>/dev/null - 结合 cron 每分钟记录一行摘要:
*/1 * * * * sudo iftop -t -s 1 -L 5 -nN -f "port 8080" 2>/dev/null | head -n 20 >> /var/log/iftop-8080.log
这种做法不替代专业流量分析系统,但足够用于短期问题复现或基线对比。










