tcpdump
tcpdump 描述
通俗地说:tcpdump是一个抓包工具,用于抓取互联网上传输的数据包。
学术的说:tcpdump是一种嗅探器 (sniffer),利用以太网的特性,通过将网卡适配器 (NIC)置于混杂模式 (promiscuous) 来获取传输在网络中的信息包。
tcpdump 抓包
要用tcpdump抓包,一定要切换到root用户下,因为只要root用户才有权限将网卡变更为适于抓包的“混杂模式”。
[root@localhost ~]# tcpdump -i ens33 -nn -X 'port 22' -c 1
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on ens33, link-type EN10MB (Ethernet), capture size 262144 bytes
11:18:05.944556 IP 10.1.70.109.22 > 10.1.70.106.56980: Flags [P.], seq 3415398881:3415399093, ack 3590615396, win 274, length 212
0x0000: 4510 00fc 2c33 4000 4006 6ce0 0a01 466d E...,3@.@.l...Fm
0x0010: 0a01 466a 0016 de94 cb92 d9e1 d604 7164 ..Fj..........qd
0x0020: 5018 0112 a1c7 0000 0000 00b0 53ad 569d P...........S.V.
0x0030: ccfb ef25 7033 32e2 08de af36 bd93 0cbc ...%p32....6....
0x0040: 555b b6da a7fb e195 5d25 5980 5210 4599 U[......]%Y.R.E.
0x0050: a2b6 9e1c 3e73 ab49 6729 a623 8e0f b605 ....>s.Ig).#....
0x0060: e86e 7c72 79f2 1f24 d68d 2e38 dd26 9947 .n|ry..$...8.&.G
0x0070: c643 0d4f 8c63 8d2f 7dd3 8bea a7a6 5030 .C.O.c./}.....P0
0x0080: 4856 2d56 fc0f 34fb 8300 f670 df3f 0496 HV-V..4....p.?..
0x0090: 189f ef83 0bd7 92f1 f243 c9b5 33e4 589a .........C..3.X.
0x00a0: cda5 0cb6 a6d4 c1eb f08d 8fbb 8dc7 e5b3 ................
0x00b0: e02e 044d 83d0 80e4 b20f 3445 070e d37a ...M......4E...z
0x00c0: 04b7 de46 aea4 13c2 ba03 ae9a 21ad 3b89 ...F........!.;.
0x00d0: 42d5 8473 3cb3 8361 1f69 a1e1 155b 9c62 B..s<..a.i...[.b
0x00e0: 503a a330 3e60 7d35 ad50 f0e4 9d45 b2a1 P:.0>`}5.P...E..
0x00f0: 3cc6 4948 a144 de47 a53f 8ce3 <.IH.D.G.?..
1 packet captured
2 packets received by filter
0 packets dropped by kernel
解析
-i : 即interface,用来指定网络接口,指定监控的网卡。
-nn : 当tcpdump遇到协议号或端口号时,不要将这些数字转换成对应的协议名称或端口名称。比如:希望显示 22 ,而不是 ssh。
-X :需要把协议头和包内容都原原本本地显示出来,tcpdump会同时以16进制和ASCII的形式显示,这在进行协议分析时是绝对的利器。
port 22 : 只抓取源端口或目的端口是22的数据包,其他的数据包就不要显示出来。
-c : 是Count含义,设置抓取的包数。
清醒是一种细小而有耐性的英雄主义 -Tzyy