温馨提示×

CentOS Sniffer如何抓包分析

小樊
43
2025-08-18 19:47:47
栏目: 智能运维

CentOS下常用抓包分析工具及方法如下:

一、工具安装

  1. tcpdump(命令行工具,系统自带)
    sudo yum install tcpdump -y  
    
  2. Wireshark(图形化界面,需安装)
    sudo yum install wireshark wireshark-gnome -y  
    
  3. go-sniffer(第三方工具,支持协议解析)
    sudo yum install libpcap-devel -y  
    wget https://golang.org/dl/go1.10.3.linux-amd64.tar.gz  
    tar -C /usr/local -xzf go1.10.3.linux-amd64.tar.gz  
    export PATH=$PATH:/usr/local/go/bin  
    go get -v -u github.com/40t/go-sniffer  
    cp $(go env GOPATH)/bin/go-sniffer /usr/local/bin  
    

二、抓包操作

  1. tcpdump基础抓包

    • 捕获指定接口(如eth0)所有数据包:
      sudo tcpdump -i eth0  
      
    • 保存到文件(后续用Wireshark分析):
      sudo tcpdump -i eth0 -w capture.pcap  
      
    • 过滤特定协议(如HTTP):
      sudo tcpdump -i eth0 port 80  
      
  2. Wireshark图形化分析

    • 启动后选择接口,实时捕获数据包,支持过滤(如httpip.addr==192.168.1.1)、查看协议详情(如TCP三次握手)。
  3. go-sniffer协议抓包

    • 抓取Redis数据包:
      go-sniffer eth0 redis  
      
    • 抓取MySQL数据包(端口3306):
      go-sniffer eth0 mysql -p 3306  
      

三、分析方法

  • 命令行过滤:通过awksort等工具处理抓包文件(如统计高频IP):
    sudo tcpdump -r capture.pcap | awk '{print $3}' | sort | uniq -c | sort -nr  
    
  • 图形化工具:Wireshark可通过“过滤器”快速定位异常流量(如重传、异常端口),支持协议解码(如HTTP请求内容)。

四、注意事项

  • 需先获取授权,避免非法抓包。
  • 大流量场景建议在非高峰期操作,或使用-c限制抓包数量。

工具选择:简单分析用tcpdump+Wireshark,协议深度解析用go-sniffer

0