Linux 網絡性能調試工具Tcpdump命令用於監視TCP/IP連接並直接讀取數據鏈路層的數據包頭您可以指定哪些數據包被監視哪些控制要顯示格式
例如我們要監視所有Ethernet上來往的通信執行下述命令
Tcpdumpi eth
即使是在一個相對平靜的網絡上也有很多的通信所以我們可能只需要得到我們感興趣的那些數據包的信息在一般情況下TCP/IP棧只為本地主機接收入站的數據包綁定同時忽略網絡上的其它計算機編址(除非您使用的是一台路由器)當運行Linux 網絡性能調試工具tcpdump命令時它會將TCP/IP棧設置為promiscuous模式該模式可接收所有的數據包並使其有效顯示如果我們關心的只是我們本地主機的通信情況一種方法是使用p參數禁止promiscuous模式還有一種方法就是指定主機名
tcpdump i eth host hostname
此時系統將只對名為hostname的主機的通信數據包進行監視主機名可以是本地主機也可以是網絡上的任何一台計算機下面的命令可以讀取主機hostname發送的所有數據
tcpdump i eth src host hostname
下面的命令可以監視所有送到主機hostname的數據包
tcpdump i eth dst host hostname
我們還可以監視通過指定網關的數據包
tcpdump i eth gateway Gatewayname
如果你還想監視編址到指定端口的TCP或UDP數據包那麼執行以下命令
tcpdump i eth host hostname and port
該命令將顯示從每個數據包傳出的頭和來自主機hostname對端口的編址端口是系統默認的HTTP服務端口號如果我們只需要列出送到端口的數據包用dst port如果我們只希望看到返回端口的數據包用src port
From:http://tw.wingwit.com/Article/os/fwq/201406/31064.html