1.安裝系統自帶的tcpdump工具
yum install tcpdump -y
2.監視主機的數據包
[root@CentOS179min ~]# tcpdump -i eth0 --監控本機的eth0網卡
[root@centos179min ~]# tcpdump host 192.168.1.250 and \(192.168.1.251 or 192.168.1.252 \) --截獲多個IP的數據包
[root@centos179min ~]# tcpdump -i eth0 dst host 192.168.1.179 --監視所有送到主機到本機的數據包
[root@centos179min ~]# tcpdump -i eth0 src host 192.168.1.179 --截獲本機發送的所有數據
3.監視主機的端口
[root@centos179min ~]# tcpdump tcp port 22 --監視本機的tcp22端口
[root@centos179min ~]# tcpdump udp port 123 --監視本機的udp123端口
4.詳細參數
-c count
tcpdump將在接受到count個數據包後退出.
-e 每行的打印輸出中將包括數據包的數據鏈路層頭部信息
-F file
使用file 文件作為過濾條件表達式的輸入, 此時命令行上的輸入將被忽略.
-i interface
指定tcpdump 需要監聽的接口
-r file
從文件file 中讀取包數據
-t 在每行輸出中不打印時間戳
-tt 不對每行輸出的時間進行格式處理(nt: 這種格式一眼可能看不出其含義, 如時間戳打印成1261798315)
-ttt tcpdump 輸出時, 每兩行打印之間會延遲一個段時間(以毫秒為單位)
-tttt 在每行打印的時間戳之前添加日期的打印
-v 當分析和打印的時候, 產生詳細的輸出
dst host host 如果IPv4/v6 數據包的目的域是host, 則與此對應的條件表達式為真.host 可以是一個ip地址, 也可以是一個主機名.
src host host 如果IPv4/v6 數據包的源域是host, 則與此對應的條件表達式為真.
host 可以是一個ip地址, 也可以是一個主機名.
Linux系統入門學習:如何使用tcpdump來捕獲TCP SYN,ACK和FIN包 http://www.linuxidc.com/Linux/2014-10/107722.htm
Linux運維工程師利器:Nmap和tcpdump http://www.linuxidc.com/Linux/2014-02/96993.htm
tcpdump的用法及使用案例 http://www.linuxidc.com/Linux/2013-11/93200.htm
Linux下實現 tcpdump http://www.linuxidc.com/Linux/2013-08/88775.htm
Linux操作系統tcpdump抓包分析詳解 http://www.linuxidc.com/Linux/2013-07/87309.htm