tcpdump 命令抓包使用簡介

目錄

命令簡介

常用命令

綜合示例


參考鏈接:https://man.linuxde.net/tcpdump

tcpdump 官網:https://www.tcpdump.org/manpages/tcpdump.1.html

命令簡介

tcpdump命令是一款sniffer工具,它可以打印所有經過網絡接口的數據包的頭信息,也可以使用-w選項將數據包保存到文件中,方便以後分析。

一般安裝 Linux 都會自帶 tcpdump 命令,但是通常都需要 root 權限才能執行

tcpdump 的語法格式:

tcpdump [選項]

常用選項:

-a:嘗試將網絡和廣播地址轉換成名稱;
-c<數據包數目>:收到指定的數據包數目後,就停止進行傾倒操作;
-d:把編譯過的數據包編碼轉換成可閱讀的格式,並傾倒到標準輸出;
-dd:把編譯過的數據包編碼轉換成C語言的格式,並傾倒到標準輸出;
-ddd:把編譯過的數據包編碼轉換成十進制數字的格式,並傾倒到標準輸出;
-e:在每列傾倒資料上顯示連接層級的文件頭;
-f:用數字顯示網際網絡地址;
-F<表達文件>:指定內含表達方式的文件;
-i<網絡界面>:使用指定的網絡截面送出數據包;
-l:使用標準輸出列的緩衝區;
-n:不把主機的網絡地址轉換成名字;
-N:不列出域名;
-O:不將數據包編碼最佳化;
-p:不讓網絡界面進入混雜模式;
-q :快速輸出,僅列出少數的傳輸協議信息;
-r <數據包文件>:從指定的文件讀取數據包數據;
-s <數據包大小>:設置每個數據包的大小;
-S:用絕對而非相對數值列出TCP關聯數;
-t:在每列傾倒資料上不顯示時間戳記;
-tt: 在每列傾倒資料上顯示未經格式化的時間戳記;
-T<數據包類型>:強制將表達方式所指定的數據包轉譯成設置的數據包類型;
-v:詳細顯示指令執行過程;
-vv:更詳細顯示指令執行過程;
-x:用十六進制字碼列出數據包資料;
-w <數據包文件>:把數據包數據寫入指定的文件。

常用命令

  • 抓取指定IP發出和接收到的包
tcpdump host 210.27.48.1
  • 抓取指定端口的包
tcpdump port 80
  • 抓取指定協議的包
tcpdump tcp
  • 將抓取到的包保存成文件
tcpdump ip host 11.24.225.206 -w log.cap

** .cap 是文件類型,這種類型的文件可以用 Wireshark 方便地進行解析

如果想要快速查看 log.cap 中的內容,可以使用 strings log.cap 命令來查看

  • 限定來源和目的地址
tcpdump src host 192.168.1.101
tcpdump dst host 192.168.1.101
  • 限制抓包個數
tcpdump -c 1000
  • and/or 組合多個限制條件
tcpdump ip host 192.168.1.102 and 192.168.1.103  // 查詢兩個主機之間的通信 

tcpdump src 192.168.122.98 and port 80  // 同時限定IP和端口

tcpdump port 443 and "(src 192.168.122.98 or src 106.11.31.214)"

綜合示例

tcpdump port 443 and "(src 192.168.122.98 or src 106.11.31.214)" -c 100 -w log.cap

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章