温馨提示×

centos sniffer配置步骤

小樊
39
2026-01-10 14:50:08
栏目: 智能运维

CentOS 嗅探器配置步骤

一 准备与权限

  • 以具有 rootsudo 权限的账户操作,大多数嗅探器需要访问网卡底层能力。
  • 确认网卡名称(如 eth0、ens33、enp0s3):执行 ip link 查看。
  • 抓包会对性能与磁盘产生压力,尽量在问题复现窗口内抓包,并配置合适的过滤表达式减少无关流量。
  • 合法合规:仅在对自己拥有或获得授权的网络与主机上进行抓包,避免侵犯隐私或违反法规。

二 快速上手 tcpdump

  • 安装:sudo yum install -y tcpdump
  • 常用用法:
    • 实时查看并解析:sudo tcpdump -i eth0 -nn -v
    • 仅抓取 HTTP 流量:sudo tcpdump -i eth0 port 80 -nn
    • 抓取并写入文件:sudo tcpdump -i eth0 -w capture.pcap
    • 读取文件:tcpdump -r capture.pcap -nn -i eth0
  • 提示:需要更细的过滤可结合 BPF 表达式(如 host 192.0.2.10 and port 3306)。

三 图形化分析 Wireshark

  • 安装:sudo yum install -y epel-release && sudo yum install -y wireshark
  • 使用:
    • 在桌面环境启动 Wireshark,选择网卡开始捕获;远程服务器可配合 tshark(Wireshark 命令行版)进行自动化抓包与分析。
    • tcpdump 生成的 .pcap 文件下载到本地,用 Wireshark 打开进行深度协议解析与图形化分析。

四 进阶工具 Go-Sniffer 与 MySQL Sniffer

  • Go-Sniffer(按协议快速抓包)
    • 安装依赖:sudo yum install -y libpcap libpcap-devel
    • 安装 Go(示例):wget https://golang.org/dl/go1.10.3.linux-amd64.tar.gz && tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz
    • 配置 PATH:echo 'export PATH=$PATH:/usr/local/go/bin' >> ~/.bashrc && source ~/.bashrc
    • 安装:go get -v -u github.com/40t/go-sniffer && sudo cp -rf $(go env GOPATH)/bin/go-sniffer /usr/local/bin
    • 示例:
      • 抓取 Redisgo-sniffer eth0 redis -p 6379 out.log
      • 抓取 MySQLgo-sniffer eth0 mysql -p 3306
  • MySQL Sniffer(专抓 MySQL 流量)
    • 安装依赖:sudo yum install -y cmake libpcap-devel glib2-devel libnet-devel gcc gcc-c++
    • 编译运行:
      • git clone https://github.com/jeremycole/mysql-sniffer.git
      • cd mysql-sniffer && mkdir proj && cd proj && cmake .. && make && cd bin/
      • 运行:./mysql-sniffer -c mysql-sniffer.conf(配置文件可选)

五 性能与合规建议

  • 性能优化
    • 优先使用 过滤器 减少捕获量(如仅抓取目标 IP/端口/协议)。
    • 选择合适的工具:Wireshark/tshark 适合深度解析与图形化;tcpdump 适合命令行与自动化;Go-Sniffer/MySQL Sniffer 适合按协议快速定位。
    • 监控资源:抓包期间关注 CPU、内存、磁盘 I/O,必要时缩短抓包时长或分片写入。
  • 合规与安全
    • 抓包涉及敏感数据,务必取得 明确授权,并妥善保管抓包文件;仅在必要时保留,分析后及时删除。

0