Linux Sniffer如何进行实时监控
导读:Linux Sniffer实时监控实操指南 一、工具选型与准备 常用工具与定位 tcpdump:命令行抓包与过滤,适合服务器与终端实时查看、快速排障。 Wireshark/tshark/dumpcap:图形化与命令行抓包,协议解析能力强...
Linux Sniffer实时监控实操指南
一、工具选型与准备
- 常用工具与定位
- tcpdump:命令行抓包与过滤,适合服务器与终端实时查看、快速排障。
- Wireshark/tshark/dumpcap:图形化与命令行抓包,协议解析能力强,适合深度分析。
- iftop、nethogs、Sniffnet:按连接/进程/图形化展示带宽与流量,适合性能与占用观测。
- 权限与接口
- 抓包通常需要root或CAP_NET_RAW能力;先通过ip addr或ifconfig确认接口名(如eth0、wlan0、any)。
- 在 Wireshark 中可创建wireshark用户组并加入当前用户,避免长期以 root 运行 GUI。
二、使用 tcpdump 进行实时监控
- 安装与基础
- 安装:Debian/Ubuntu 执行sudo apt-get install tcpdump;CentOS/RHEL 执行sudo yum install tcpdump(或先启用 EPEL)。
- 常用实时命令
- 指定接口实时查看(不做解析):sudo tcpdump -i eth0 -n
- 监控所有接口:sudo tcpdump -i any -n
- 仅看某端口(如 80/443/22):sudo tcpdump -i eth0 port 80 或 tcp port 443 或 ‘tcp port 22’
- 仅看某主机:sudo tcpdump -i eth0 host 10.0.0.5
- 组合过滤(如某主机且某端口):sudo tcpdump -i eth0 ‘host 10.0.0.5 and tcp port 80’
- 实时写入文件以便后续分析:sudo tcpdump -i eth0 -w capture.pcap
- 从文件回放查看:sudo tcpdump -r capture.pcap
- 性能与过滤建议
- 高吞吐场景务必使用**捕获过滤器(BPF)**缩小范围,减少内核与用户态开销,避免丢包。
三、使用 Wireshark 或 tshark 进行实时监控
- 安装与权限
- Ubuntu 示例:sudo add-apt-repository ppa:wireshark-dev/stable & & sudo apt update & & sudo apt install wireshark;随后执行sudo usermod -aG wireshark $USER并重新登录。
- 实时捕获要点
- 在“Capture Options”中选择正确接口,启用**混杂模式(Promiscuous Mode)**与“Update list of packets in real time”。
- 设置环形缓冲区(Ring Buffer)与自动停止条件(如按大小/时间),避免内存溢出。
- 容器/虚拟化环境优先选择物理网卡或 veth端点进行捕获。
- 过滤器与诊断
- 捕获过滤器(BPF):如tcp port 80、not arp、host 10.0.0.5 and tcp portrange 8000-9000。
- 显示过滤器:如http.request.method == “GET”、ip.src == 192.168.1.10、tcp.analysis.retransmission(定位重传)。
- 命令行实时抓包
- tshark -i eth0 -Y “http” -T fields -e http.host -e http.request.uri(按显示过滤器实时输出字段)。
四、带宽与进程级实时监控
- iftop:按连接显示实时带宽占用
- 安装:sudo apt-get install iftop 或 sudo yum install iftop
- 运行:sudo iftop -i eth0
- nethogs:按进程显示实时网络占用
- 安装:sudo apt-get install nethogs 或 sudo yum install nethogs
- 运行:sudo nethogs eth0
- Sniffnet:图形化实时流量监控(Rust 实现),适合快速总览与筛选。
五、实战命令清单与合规提示
- 快速参考
- 实时看所有接口:sudo tcpdump -i any -n
- 只看 HTTP 流量:sudo tcpdump -i eth0 ‘tcp port 80’
- 只看 DNS 查询:sudo tcpdump -i eth0 udp and port 53
- 只看某主机 10.0.0.5 的 443:sudo tcpdump -i eth0 ‘host 10.0.0.5 and tcp port 443’
- 实时写包并事后分析:sudo tcpdump -i eth0 -w cap.pcap;随后tcpdump -r cap.pcap
- 实时看 HTTP 请求主机与路径(tshark):tshark -i eth0 -Y “http” -T fields -e http.host -e http.request.uri
- 合规与安全
- 抓包可能触及隐私与合规要求,务必在授权范围内使用,避免监听或保存敏感未授权数据。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: Linux Sniffer如何进行实时监控
本文地址: https://pptw.com/jishu/758469.html
