CentOS Sniffer优化规则指南
根据需求选择工具:Wireshark适合图形界面、需要丰富协议解析的场景;tcpdump适合命令行操作、自动化抓包或对性能要求高的环境;Tshark作为Wireshark的命令行版本,兼顾功能与轻量化,适用于远程抓包或脚本自动化。工具的选择直接影响后续配置与性能表现。
过滤器的核心作用是减少不必要的数据包捕获,降低系统处理负担。常用过滤方式包括:
tcp port 80(仅捕获HTTP流量)、src 192.168.1.100(仅捕获源IP为192.168.1.100的流量);tcp and src host 192.168.1.100 and dst port 443(捕获源IP为192.168.1.100、目标端口为443的TCP流量);icmp(仅捕获ICMP流量,如ping包)。调整内核参数可提升网络处理能力,需修改/etc/sysctl.conf文件并执行sysctl -p生效:
net.ipv4.tcp_tw_reuse = 1(允许复用TIME-WAIT状态的连接)、net.ipv4.tcp_tw_recycle = 1(快速回收TIME-WAIT连接);net.ipv4.tcp_fin_timeout = 30(FIN_WAIT_2状态超时30秒)、net.ipv4.tcp_keepalive_time = 1200(保活探测间隔20分钟);net.ipv4.ip_local_port_range = 10000 65000(扩大本地端口池,避免端口耗尽);net.core.rmem_max = 67108864(接收缓冲区最大64MB)、net.core.wmem_max = 67108864(发送缓冲区最大64MB)、net.ipv4.tcp_rmem = 4096 87380 67108864(TCP接收缓冲区分段优化)、net.ipv4.tcp_wmem = 4096 65536 67108864(TCP发送缓冲区分段优化)。-B选项(如tcpdump -B 4096设置缓冲区为4MB),或修改工具配置文件(如Wireshark的capture.buffer_size);firewalld、SELinux或第三方应用),释放CPU、内存资源。例如,systemctl stop firewalld(临时关闭)、systemctl disable firewalld(永久禁用);/etc/security/limits.conf,添加* soft nofile 65535、* hard nofile 65535(将普通用户的文件句柄限制提升至65535),避免抓包时因句柄耗尽导致中断;root或特定用户组)访问Sniffer工具,防止敏感数据泄露。使用工具实时监控系统资源与网络流量,及时调整策略:
iftop(按IP统计流量)、nload(实时流量趋势);top(CPU/内存占用)、htop(增强版资源监控)、iostat(磁盘I/O性能);tcpdump -w output.pcap捕获到文件后,用tcpdump -r output.pcap -qnn -z io_phases分析IO阶段耗时。