tcpdump抓包
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
tcpdump 必须使用 root 的身份执行
[root@linux ~]# tcpdump [-nn] [-i 接口] [-w 储存档名] [-c 次数] [-Ae]
[-qX] [-r 档案] [所欲撷取的数据内容]
参数:
-nn:直接以 IP 及 port number 显示,而非主机名与服务名称
-i :后面接要『监听』的网络接口,例如 eth0, lo, ppp0 等等的界面;
-w :如果你要将监听所得的封包数据储存下来,用这个参数就对了!后面接档名
-c :监听的封包数,如果没有这个参数, tcpdump 会持续不断的监听,
直到使用者输入 [ctrl]-c 为止。
-A :封包的内容以 ASCII 显示,通常用来捉取 WWW 的网页封包资料。
-e :使用资料连接层 (OSI 第二层) 的 MAC 封包数据来显示;
-q :仅列出较为简短的封包信息,每一行的内容比较精简
-X :可以列出十六进制 (hex) 以及 ASCII 的封包内容,对于监听封包内容很有用
-r :从后面接的档案将封包数据读出来。那个『档案』是已经存在的档案,并且这个『档案』是由 -w 所制作出来的。
所欲撷取的数据内容:我们可以专门针对某些通讯协议或者是 IP 来源进行封包撷取,那就可以简化输出的结果,并取得最有用的信息。常见的表示方法有:
'host foo', 'host 127.0.0.1' :针对单部主机来进行封包撷取
'net 192.168' :针对某个网域来进行封包的撷取;
'src host 127.0.0.1' 'dst net 192.168':同时加上来源(src)或目标(dst)限制
'tcp port 21':还可以针对通讯协议侦测,如 tcp, udp, arp, ether 等还可以利用 and 与 or 来进行封包数据的整合显示呢!
范例一:以121.9.240.130这台测试机为基础.
[root@linux ~]# tcpdump
09:25:40.856970 IP 59.37.164.34.12670 > 121.9.222.91.15649: UDP, length 82
09:25:40.857025 IP 121.9.222.64.15583 > .3001: UDP, length 82
09:25:40.857026 IP 121.9.223.171.25511 > 222.223.23.168.2471: P 1681367693:1681367882(189) ack 169128214 win 65455
09:25:40.857027 IP 121.9.222.182.15502 > 218.15.245.162.16059: UDP, length 14 09:25:40.857068 IP 119.132.101.206.3001 > 121.9.222.183.15164: UDP, length 82 09:25:40.857118 IP 121.9.222.175.15693 > 202.101.190.242.3001: UDP, length 82 09:25:40.857119 IP 121.9.222.175.15693 > 202.101.190.242.3001: UDP, length 82 09:25:40.857121 IP 59.34.127.210.43659 > 121.9.222.243.15716: UDP, length 14 09:25:40.857122 IP 121.9.222.87.15030 > 119.132.101.206.3001: UDP, length 14 09:25:40.857123 IP 121.9.222.88.15278 > 113.14.161.238.3001: UDP, length 14 09:25:40.857170 IP .3001 > 121.9.222.93.15400: UDP, length 14
09:25:40.857218 IP 58.242.202.10.3001 > 121.9.222.87.15300: UDP, length 10
09:25:40.857219 IP .3001 > 121.9.222.242.14920: UDP, length 18
186 packets captured
1293913 packets received by filter
1293348 packets dropped by kernel
按下 [ctrl]-c 之后结束
186 packets captured <==捉下来的封包数量
1293913 packets received by filter <==由过滤所得的总封包数量
1293348 packets dropped by kernel <==被核心所丢弃的封包
以红色标记的为例
09:25:40.857027:这个是此封包被撷取的时间,『时:分:秒』的单位;
IP:透过的通讯协议是 IP ;
121.9.222.88.15278 > :传送端是 121.9.222.88 这个 IP,而传送的端口为 15278,那个大于 (>) 的符号指的是封包的传输方向!
113.14.161.238.3001:接收端的 IP 是 113.14.161.238,且该主机开启端口 3001 来接收;
UDP, length 10只得是传输的协议和长度
只监听80端口
[root@linux ~]# tcpdump -nn port 80
09:52:14.508478 IP 121.9.223.242.80 > 61.152.150.162.55954: P 0:233(233) ack 1 win 1728
09:52:14.508481 IP 121.9.223.242.80 > 61.152.150.162.55954: F 233:233(0) ack 1 win 1728
09:52:14.536334 IP 121.9.223.242.80 > 61.152.150.162.55954: . ack 2 win 1728 09:52:14.563288 IP 121.9.222.104.80 > 61.152.150.152.40709: . ack 2223535384 win 1728
09:52:14.568035 IP 121.9.222.104.80 > 61.152.150.152.40709: P 0:231(231) ack 1 win 1728
09:52:14.568180 IP 121.9.222.104.80 > 61.152.150.152.40709: F 231:231(0) ack 1 win 1728
09:52:14.596534 IP 121.9.222.104.80 > 61.152.150.152.40709: . ack 2 win 1728 09:52:18.123972 IP 121.9.222.203.80 > 61.152.150.133.57066: . ack 1914833392 win 54
09:52:18.127865 IP 121.9.222.203.80 > 61.152.150.133.57066: P 0:210(210) ack 1 win 54
09:52:18.127867 IP 121.9.222.203.80 > 61.152.150.133.57066: F 210:210(0) ack 1 win 54
只监听一台主机
[root@linux ~]# tcpdump –nn host 121.9.240.130
10:03:36.924444 IP 121.9.240.130.22 > 218.13.39.225.60867: P 121872:122004(132) ack 469 win 138
10:03:36.927825 IP 218.13.39.225.60867 > 121.9.240.130.22: . ack 115732 win 46484