Linux使用tcpdump命令抓包並使用wireshark分析

 

Linux使用tcpdump命令抓包並使用wireshark分析

 

介紹

  有時分析客戶端和服務器網絡交互的問題時,爲了查找問題,須要分別在客戶端和服務器上抓包,咱們的客戶端通常是windows上的,抓包比較簡單,直接使用wireshark抓取便可。而服務器則是Linux,須要使用ssh遠程登錄到Linux系統中,使用tcpdump命令開啓抓包。php

   tcpdump能夠將網絡中傳送的數據包的「頭」徹底截獲下來提供分析。它支持針對網絡層、協議、主機、網絡或端口的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息。html

 

 

基本使用

 

默認啓動ios

tcpdump

注意:普通狀況下,直接啓動tcpdump將監視第一個網絡接口上全部流過的數據包,第一個網絡接口就是eth0。windows

 

 

監視指定網絡接口的數據包服務器

tcpdump -i eth1

  

 

監視指定主機的數據包(主機pc1的ip爲(210.27.48.1 網絡

例子:抓取流進和流出主機pc1的eth0的流量

tcpdump host pc1
或者
tcpdump host 210.27.48.1

 

 

 

指定端口或協議服務app

例子:抓取ip爲210.27.48.1的icmp包
tcpdump host 210.27.48.1 and icmp


例子:抓取ip爲210.27.48.1的80端口和110和25之外的其餘端口的包 
tcpdump host 210.27.48.1 and ! port 80 and ! port 25 and ! port 110

  

 

截獲主機間的通訊流量ssh

打印helios 與 hot 或者與 ace 之間通訊的數據包
tcpdump host helios and \( hot or ace \)

截獲主機210.27.48.1 和主機210.27.48.2 或210.27.48.3的通訊
tcpdump host 210.27.48.1 and \ (210.27.48.2 or 210.27.48.3 \)

 打印ace與任何其餘主機之間通訊的IP 數據包, 但不包括與helios之間的數據包.tcp

     tcpdump ip host ace and not helios測試


若是想要獲取主機210.27.48.1除了和主機210.27.48.2以外全部主機通訊的ip包
tcpdump ip host 210.27.48.1 and ! 210.27.48.2

截獲主機hostname發送的全部數據
tcpdump src host hostname


監視全部送到主機hostname的數據包
tcpdump dst host hostname

  

 

 

輸出

tcpdump 的抓包保存到文件的命令參數是-w xxx.cap
tcpdump -w /tmp/xxx.cap

 

 

 

實例演示

 

1.使用tcp抓包,鏈接ftp服務器

測試ftp服務器ip:112.65.173.59(用戶名和密碼不正確,僅測試)

測試用戶名:admin

           密 碼 :admin123456

 

 

 2.拷貝到物理機,使用wireshark打開

 

 3.手動分析數據

 

原文出處:https://www.cnblogs.com/-wenli/p/10126511.html

相關文章
相關標籤/搜索