网络连接状态监控
在Linux系统中,监控网络连接状态是排查网络问题和保障系统安全的基础。netstat和ss是两款常用的命令行工具,前者是传统工具,后者则是新一代替代品,性能更优。

使用netstat -tuln可以查看所有监听的TCP和UDP端口,其中-t显示TCP端口,-u显示UDP端口,-l仅显示监听状态,-n以数字形式显示地址和端口,避免DNS解析延迟。netstat -tuln | grep :80可快速定位Web服务端口状态,若需查看详细的连接信息,如进程ID(PID),可添加-p参数,但需root权限。
ss命令在处理大量连接时效率更高,其语法与netstat类似。ss -tuln同样显示监听端口,而ss -t state established则查看所有已建立的TCP连接,通过ss -p可关联到具体进程,便于定位异常连接。ss -s提供网络连接的统计摘要,包括TCP、UDP等各类连接的数量,适合快速评估网络负载。
实时流量与带宽监控
实时监控网络流量有助于发现异常流量或带宽瓶颈。iftop是一款交互式工具,以实时列表形式显示各主机的带宽使用情况,支持按排序、显示端口过滤等功能,安装后执行iftop -i eth0(eth0为网卡名称),即可看到实时上传/下载速度、连接目标IP等信息。
nethogs则按进程统计网络带宽占用,适合定位具体哪个进程消耗了大量流量,运行nethogs后,会实时显示各进程的PID、名称及实时速率,若发现异常进程(如可疑挖矿程序),可结合kill命令终止。
对于更轻量级的监控,ip命令结合watch可实现周期性统计。watch -n 1 "ip -s link"每秒刷新网卡流量统计,包括接收(RX)和发送(TX)的字节数及包数量,适合快速检查网卡负载。

数据包捕获与分析
当需要深入分析网络数据包时,tcpdump是强大的命令行抓包工具,通过tcpdump -i eth0 -c 10 -w capture.pcap可捕获指定网卡(eth0)的10个数据包并保存到文件(capture.pcap),后续可用Wireshark打开分析,过滤功能是tcpdump的核心,如tcpdump host 192.168.1.1仅捕获与该IP通信的数据包,tcpdump port 80则过滤HTTP流量,tcpdump tcp port 80 and host 192.168.1.1可进一步组合条件。
若需实时查看抓包内容,可添加-v(详细)或-A(以ASCII显示数据),例如tcpdump -A -i eth0 port 80可查看HTTP请求/响应的明文内容,便于调试Web服务。
网络路由与连通性测试
监控网络路由和连通性是判断网络可达性的关键。traceroute通过发送不同TTL的包追踪路径,例如traceroute -n 8.8.8.8(-n避免DNS解析)可显示到目标IP的每一跳路由及延迟,若某跳无响应,则可能为网络故障点。
mtr结合了ping和traceroute的优势,持续显示每跳的丢包率和延迟,运行mtr -n 8.8.8.8后,可直观看到网络瓶颈所在。ip route show可查看本地路由表,确认网关、子网等配置是否正确,而netstat -rn则以传统格式显示路由信息。
日志与系统监控
系统日志和网络服务日志是排查问题的重要依据,通过journalctl -u networking可查看网络服务相关的系统日志,而/var/log/syslog或/var/log/messages(取决于发行版)记录了网络连接、错误等信息,对于Web服务,tail -f /var/log/nginx/access.log(Nginx)或tail -f /var/log/httpd/access_log(Apache)可实时查看访问日志,分析请求模式。

结合grep和awk可高效过滤日志,例如grep "Failed password" /var/log/auth.log | awk '{print $(NF-3)}' | sort | uniq -c可统计SSH失败登录的IP次数,帮助识别暴力破解攻击。
Linux网络监控命令涵盖了从连接状态、流量分析到数据包捕获的全方位工具,熟练掌握netstat/ss、iftop/nethogs、tcpdump、traceroute/mtr及日志分析命令,能有效提升网络运维效率,快速定位并解决各类网络问题,在实际使用中,可根据需求选择合适的工具组合,并结合cron实现定时监控,构建完善的网络监控体系。















