有時分析客戶端和服務器網絡交互的問題時,爲了查找問題,須要分別在客戶端和服務器上抓包,咱們的客戶端通常是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