溫馨提示×

CentOS Sniffer自定義規則設置

小樊
45
2025-09-22 07:38:02
欄目: 智能運維

CentOS Sniffer自定義規則設置指南
在CentOS系統中,“Sniffer”通常指tcpdump(命令行網絡分析工具)或netsniff(第三方源碼級嗅探工具),以下分別介紹兩者的自定義規則設置方法,涵蓋基礎過濾、配置文件調整及高級功能。

一、使用tcpdump設置自定義捕獲規則

tcpdump是CentOS默認安裝的網絡嗅探工具(若未安裝,可通過sudo yum install tcpdump安裝),支持通過過濾表達式精準捕獲所需流量。

1. 基礎過濾規則語法

過濾規則由協議、IP地址、端口、邏輯運算符組合而成,常見格式如下:

  • 按協議過濾tcp(TCP流量)、udp(UDP流量)、icmp(ICMP流量,如ping)。
  • 按IP地址過濾src host 192.168.1.100(源IP為192.168.1.100)、dst host 10.0.0.1(目標IP為10.0.0.1)、host 192.168.1.100(源或目標IP為192.168.1.100)。
  • 按端口過濾src port 80(源端口為80,如HTTP請求)、dst port 443(目標端口為443,如HTTPS響應)、port 22(源或目標端口為22,如SSH)。
  • 邏輯組合and(與)、or(或)、not(非),例如tcp and src port 80(TCP且源端口為80)、host 192.168.1.100 or host 10.0.0.1(源或目標為這兩個IP之一)。

2. 示例命令

  • 捕獲eth0接口上所有HTTP流量(源端口80):
    sudo tcpdump -i eth0 'tcp src port 80'
    
  • 捕獲eth0接口上來自192.168.1.100的HTTPS流量(目標端口443):
    sudo tcpdump -i eth0 'src host 192.168.1.100 and tcp dst port 443'
    
  • 捕獲eth0接口上所有ICMP流量(ping請求/響應):
    sudo tcpdump -i eth0 'icmp'
    

3. 保存與加載規則

  • 保存捕獲結果:使用-w選項將數據包保存到.pcap文件(后續可用Wireshark分析):
    sudo tcpdump -i eth0 -w capture.pcap
    
  • 從文件讀取規則:若需重復使用規則,可將規則寫入配置文件(如/etc/tcpdump/tcpdump.conf),通過-F選項加載:
    echo "tcp src port 80" | sudo tee /etc/tcpdump/tcpdump.conf
    sudo tcpdump -i eth0 -F /etc/tcpdump/tcpdump.conf
    

二、使用netsniff設置自定義規則

netsniff是基于源碼的網絡嗅探工具(需手動下載編譯),支持更靈活的配置文件管理,適合需要深度定制的場景。

1. 安裝與配置步驟

  • 安裝依賴:編譯前需安裝開發工具及庫文件:
    sudo yum groupinstall "Development Tools" -y
    sudo yum install ncurses-devel zlib-devel awk flex quilt git-lfs openssl-devel xz -y
    
  • 下載與編譯:從GitHub克隆netsniff倉庫并編譯安裝:
    git clone https://github.com/netsniff/netsniff.git
    cd netsniff
    make
    sudo make install
    
  • 配置文件路徑:默認配置文件位于/etc/netsniff/netsniff.conf,需用文本編輯器(如vi)修改。

2. 配置文件參數說明

配置文件中的關鍵參數及作用如下:

  • 捕獲開關CAPTURE_ENABLED 1(啟用捕獲,0為禁用)。
  • 捕獲模式MODE promisc(混雜模式,捕獲所有經過接口的流量;MODE nonpromisc為普通模式,僅捕獲目標為本機的流量)。
  • 監聽接口INTERFACE eth0(指定監聽的網絡接口,如eth0、wlan0)。
  • 過濾規則FILTER "tcp and src host 192.168.1.100"(BPF語法過濾規則,同tcpdump)。

3. 啟動與規則應用

  • 啟動Sniffer:通過命令行直接啟動(需root權限):
    sudo /usr/local/bin/sniff
    
  • 設置為系統服務:將netsniff添加到系統服務(如systemd),實現開機自啟(需編寫.service文件,此處略)。

三、注意事項

  • 權限要求:捕獲數據包需訪問網絡接口,必須使用sudo或root權限。
  • 合法性:未經授權監控他人網絡流量可能違反法律法規,請確保獲得授權。
  • 性能影響:全流量捕獲會占用大量系統資源,建議通過過濾規則縮小范圍(如僅捕獲特定端口或IP)。

以上方法覆蓋了CentOS下常見的Sniffer自定義規則場景,可根據需求選擇合適的工具進行調整。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女