CentOS sniffer怎样监控网络设备
导读:在 CentOS 上使用 Sniffer 监控网络设备 一 常用工具与安装 在 CentOS 上,常用的嗅探/抓包工具包括:tcpdump(命令行、轻量)、tshark(Wireshark 命令行版)、ngrep(按正则表达式匹配负载)、...
在 CentOS 上使用 Sniffer 监控网络设备
一 常用工具与安装
- 在 CentOS 上,常用的嗅探/抓包工具包括:tcpdump(命令行、轻量)、tshark(Wireshark 命令行版)、ngrep(按正则表达式匹配负载)、以及面向特定协议的 go-sniffer(如 MySQL、Redis)。安装示例:
- 安装 tcpdump:
sudo yum install -y tcpdump - 安装 tshark:
sudo yum install -y wireshark-cli - 安装 ngrep:
sudo yum install -y ngrep - 安装 go-sniffer(需先装 libpcap-devel,再用 Go 获取二进制):
sudo yum install -y libpcap-devel,随后按项目说明部署二进制到 PATH。
- 安装 tcpdump:
二 快速上手 tcpdump
- 查看接口:
ip a或ifconfig,确认要监听的网卡名(如 eth0、ens33)。 - 实时抓包并显示简要内容:
sudo tcpdump -i ens33 -nn -v - 保存到文件以便后续分析:
sudo tcpdump -i ens33 -w capture.pcap - 从文件读取分析:
sudo tcpdump -r capture.pcap -nn - 常用过滤器(放在单引号内):
- 按主机:
host 192.168.1.10 - 按端口:
port 80或port 3306 - 按协议:
icmp、tcp、udp - 组合条件:
tcp and host 192.168.1.10 and port 80
- 按主机:
- 常用控制参数:
-c 100仅抓取 100 个包后退出-A以 ASCII 打印负载,便于查看文本协议-X以 十六进制+ASCII 显示包内容-l行缓冲,便于配合管道实时处理
- 示例:抓取 ens33 上访问 80 端口的流量,限定 50 个包并保存到文件
sudo tcpdump -i ens33 -nn -c 50 'tcp port 80' -w http_ens33.pcap
三 进阶工具与用法
- tshark(命令行图形化分析能力更强)
- 抓包到文件:
sudo tshark -i ens33 -w http.pcap - 按端口抓包:
sudo tshark -i ens33 -f "tcp port 80" - 显示更详细:
sudo tshark -i ens33 -V
- 抓包到文件:
- ngrep(按正则匹配负载)
- 抓取 HTTP GET:
sudo ngrep -d ens33 'GET /' - 抓取某主机流量:
sudo ngrep -d ens33 host 192.168.1.10
- 抓取 HTTP GET:
- go-sniffer(面向应用层协议)
- 抓 MySQL:
go-sniffer ens33 mysql -p 3306 - 抓 Redis:
go-sniffer ens33 redis - 适合快速定位数据库、缓存等协议层问题。
- 抓 MySQL:
四 提高抓包准确性与性能
- 提升网卡与内核缓冲,减少丢包
- 增大网卡 ring buffer:
sudo ethtool -G ens33 rx 2048 tx 1024 - 增大内核 backlog:
echo "net.core.netdev_max_backlog=16384" | sudo tee /etc/sysctl.d/99-sysctl.conf & & sudo sysctl -p
- 增大网卡 ring buffer:
- 选择合适的 MTU(如业务允许可启用巨帧)
- 临时设置:
sudo ip link set dev ens33 mtu 9000 - 永久生效需写入网卡配置文件并重启网络服务
- 临时设置:
- 抓包效率建议
- 优先使用合适的 BPF 过滤器(如
tcp port 80 and host 10.0.0.1),只抓取关心的流量 - 高流量场景建议直接写文件(
-w),后续再用 tcpdump/tshark 离线分析 - 必要时启用接口的 混杂模式(多数抓包工具默认会设置),以捕获经过接口的所有流量。
- 优先使用合适的 BPF 过滤器(如
五 合规与安全提示
- 抓包会接触到可能包含敏感信息的网络数据,务必在获得明确授权的网络与主机上执行,避免侵犯隐私或违反安全策略。
- 生产环境谨慎变更系统与安全策略(如临时关闭防火墙/SELinux 等),抓包完成后及时恢复,减少对业务可用性与安全性的影响。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: CentOS sniffer怎样监控网络设备
本文地址: https://pptw.com/jishu/763675.html
