首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

AIX/Unix 經典網絡抓包神器 iptrace/ipreport 完整使用指南

     編輯:Java 綜合教學

iptrace 是 AIX/Unix 系統自帶的底層抓包工具,無需安裝 tcpdump/Wireshark,即可捕獲全接口雙向數據包,配合 ipreport 解析為可讀報告,排查疑難網絡故障極其高效。本文涵蓋實戰命令、參數詳解、輸出分析、SRC 管理與磁盤保護建議。

核心工作流

  1. 啟動抓包:iptrace -d 目標IP -b -i 接口 輸出文件
  2. 復現故障:業務運行,觸發問題。
  3. 停止抓包:kill -9 PID 或 stopsrc -s iptrace(SRC 管理)。
  4. 格式化報告:ipreport -r -s 抓包文件 > 報告文件
  5. 分析定位:more/grep/less 閱讀報告,關注重傳、RST、零窗口、延遲、校驗錯誤等。

常用參數速查

命令/參數說明
iptrace -a捕獲所有接口數據(慎用,流量極大)
-i en0指定接口(如 en0、en1、lo0)
-d 192.168.1.100過濾目標 IP(源或目的)
-s 192.168.1.50過濾源 IP
-p 80過濾端口
-b雙向捕獲(含發送與接收)
-P混雜模式
ipreport -r解析相對序列號(易讀)
ipreport -s顯示數據載荷(十六進制+ASCII)
ipfilter對 ipreport 輸出進一步過濾/排序

實戰範例

1. 基礎雙向抓包(指定目標 IP)

# 後台運行
iptrace -d 202.96.128.86 -b -i en0 /tmp/trace.out &
[1] 737520
# 復現問題後停止
ps -ef | grep iptrace
kill -9 737520
# 格式化
ipreport -r -s /tmp/trace.out > /tmp/trace.txt
more /tmp/trace.txt

2. SRC 系統服務管理(生產環境推薦)

# 啟動
startsrc -s iptrace -a "-i en1 /home/testing/iptrace/iptracelog"
# 停止
stopsrc -s iptrace
# 查看狀態
lssrc -s iptrace

3. 典型輸出片段解讀

IPTRACE version: 2.0
ETH: ====( 114 bytes transmitted on interface en0 )==== 10:57:25.698790226
ETH: [ da:bb:b8:b5:26:14 -> 6e:87:76:59:6e:cd ] type 800 (IP)
IP:  < SRC = 172.29.135.44 > (cbb7p682e)
IP:  < DST = 172.29.131.16 >
IP:  ip_v=4, ip_hl=20, ip_tos=16, ip_len=100, ip_id=18349, ip_off=0 DF
IP:  ip_ttl=60, ip_sum=945f, ip_p = 6 (TCP)
TCP: 
TCP:  th_seq=337783617, th_ack=1783353394
TCP:  th_off=8, flags=[SYN]      # 關鍵標誌位
TCP:  th_win=65522, th_sum=0, th_urp=0
TCP:  timestamps TSVal: 0x47414604 TSEcho: 0x47826117
TCP:  00000000 520bea13 dfaefa7b e1c517d6 ce86f960 |R......{.......'|
...
  • SEQ/ACK 分析:判斷重傳、亂序、丟包。
  • Flags:SYN/SYN-ACK/FIN/RST/PSH/URG 定位連接狀態異常。
  • Window Size:零窗口、窗口縮放問題。
  • Timestamps:RTT 計算、PAWS 保護。
  • Payload:應用層協議解析(HTTP、DB 協議等)。

磁盤空間保護(極其重要)

抓包文件增長極快(示例 1 分鐘 40MB)。必須限制文件大小、設置磁盤配額、或定期輪轉,防止撐爆根分區導致系統宕機。

# 限制文件 100MB 自動停止(需腳本輪詢)
# 或使用 tcpdump -C 100 -W 5 -w trace.pcap 替代(支持輪轉)

對比:iptrace vs tcpdump vs Wireshark

特性iptracetcpdumpWireshark
系統依賴AIX/Unix 原生Linux/Unix 需安裝圖形界面,需 X11/導出文件
抓包性能內核級,極低開銷用戶態 libpcap,略高解析階段資源佔用大
過濾靈活性基礎 IP/端口/接口BPF 語法極強顯示過濾器極強
輸出格式專有二進制 → ipreport 文本pcap/ng 標準原生 GUI + 導出多格式
適用場景AIX 生產無法裝軟件、內核級調試通用首選深度分析、圖形化、協議解碼

避坑提醒

  1. 抓包前確認 /tmp 或目標分區剩餘空間 > 2GB。
  2. 高併發業務慎用 -a(全接口),優先 -i 指定業務接口 + -d/-s/-p 多維過濾。
  3. kill -9 強殺可能導致文件尾部損壞,優先 kill -15 或 stopsrc 優雅停止。
  4. 解析大文件時 ipreport 耗時久、佔內存,建議先 split 切分或用 tcpdump -r 轉 pcap 後用 Wireshark 分析。

熟練掌握 iptrace/ipreport,是在純淨 AIX/Unix 環境下解決「網絡不通、丟包、延遲高」的終極武器。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved