Linux-tcpdump常規應用

Linux-tcpdump

在linux系統下,利用tcpdump工具抓取網絡傳輸過程中的數據包。tcpdump可以將網絡中傳送的數據包完全截獲下來提供分析。它支持針對網絡層、協議、主機、網絡或端口的過濾,並提供and、or、not等邏輯語句來幫助你去掉無用的信息

常用命令實例:
1.抓取指定網絡接口的數據包
[root@iZwz9bkgrde0jw4ljfex93Z log]# tcpdump -i eth0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
11:04:27.978783 IP iZwz9bkgrde0jw4ljfex93Z.ssh > 119.123.65.241.25699: Flags [P.], seq 3834927895:3834928091,…
注:如果不指定網卡,默認tcpdump只會監視第一個網絡接口,一般是eth0。
2.抓取指定主機的數據包
1)截獲某個ip所有 的主機收到的和發出的所有的數據包
[root@iZwz9bkgrde0jw4ljfex93Z log]# tcpdump host 112.74.129.99
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
11:20:06.501912 IP iZwz9bkgrde0jw4ljfex93Z.48940 > 112.74.129.99.mysql: Flags [P.], seq 1150545980:1150545985, ack 270519202, win
254, options [nop,nop,TS val 4172958996 ecr 4172958000], length 511:20:06.503282 IP 112.74.129.99.48940 > …
2)抓取某幾個主機之間的通信信息
[root@iZwz9bkgrde0jw4ljfex93Z log]# tcpdump host 120.76.100.210 and (112.74.129.99 or 139.196.185.31 )
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes
3.抓取指定主機和端口的數據包
1)抓取主機112.74.129.99接收或發出的某程序(端口爲6002)包,使用如下命令

tcpdump tcp port 6002 and host 118.31.228.190

tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on eth0, link-type EN10MB (Ethernet), capture size 65535 bytes
對本機的udp 123 端口進行監視 123 爲ntp的服務端口
tcpdump udp port 123
4.tcpdump 與wireshark
Wireshark(以前是ethereal)是Windows下非常簡單易用的抓包工具。但在Linux下很難找到一個好用的圖形化抓包工具。
還好有Tcpdump。我們可以用Tcpdump + Wireshark 的完美組合實現:在 Linux 裏抓包,然後在Windows 裏分析包。

tcpdump tcp -i eth0 -t -s 0 -c 100 and dst port ! 22 and src net 192.168.1.0/24 -w ./target.cap
註釋:
A.tcp: ip icmp arp rarp 和 tcp、udp、icmp這些選項等都要放到第一個參數的位置,用來過濾數據報的類型
B.-i eth0 : 只抓經過接口eth0的包
C.-t : 不顯示時間戳
D.-s 0 : 抓取數據包時默認抓取長度爲68字節。加上-S 0 後可以抓到完整的數據包
E.-c 100 : 只抓取100個數據包
F.dst port ! 22 : 不抓取目標端口是22的數據包
G.src net 192.168.1.0/24 : 數據包的源網絡地址爲192.168.1.0/24
H.-w ./target.cap : 保存成cap文件,方便用ethereal(即wireshark)分析

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章