Linux測試載入器tcpdump命令用於監視TCP/IP串連並直接讀取資料連結層的資料包頭。您可以指定哪些資料包被監視、哪些控制要顯示格式。例如我們要監視所有Ethernet上來往的通訊,執行下述命令:tcpdump -i eth0 ,下面我們來看看具體內容。
即使是在一個相對平靜的網路上,也有很多的通訊,所以我們可能只需要得到我們感興趣的那些資料包的資訊。在一般情況下,TCP/IP棧只為本地主機接收入站的資料包綁定同時忽略網路上的其它電腦編址(除非您使用的是一台路由器)。當運行tcpdump命令時,它會將TCP/IP棧設定為 promiscuous模式。該模式可接收所有的資料包並使其有效顯示。如果我們關心的只是我們本地主機的通訊情況,一種方法是使用“-p”參數禁止 promiscuous模式,還有一種方法就是指定主機名稱:
tcpdump -i eth0 host hostname
此時,系統將只對名為hostname的主機的通訊資料包進行監視。主機名稱可以是本地主機,也可以是網路上的任何一台電腦。下面的命令可以讀取主機hostname發送的所有資料:
tcpdump -i eth0 src host hostname
下面的命令可以Linux測試載入器監視所有送到主機hostname的資料包:
tcpdump -i eth0 dst host hostname
我們還可以Linux測試載入器監視通過指定網關的資料包:
tcpdump -i eth0 gateway Gatewayname
如果你還想Linux測試載入器監視編址到指定連接埠的TCP或UDP資料包,那麼執行以下命令:
tcpdump -i eth0 host hostname and port 80
該命令將顯示從每個資料包傳出的頭和來自主機hostname對連接埠80的編址。連接埠80是系統預設的HTTP服務連接埠號碼。如果我們只需要列出送到80連接埠的資料包,用dst port;如果我們只希望看到返回80連接埠的資料包,用src port。
- Linux查看進程命令和具體操作
- Linux監控網路流量工具安裝及功能
- Linux 網卡流量查看的方法及各自特點
- 關於Linux 查看效能的命令介紹
- 關於Linux效能監控之Network篇