1.简介

用简单的话来定义tcpdump,就是:dump the traffic on a network,根据使用者的定义对网络上的数据包进行截获的包分析工具。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
//  tcpdump参数说明
-a:尝试将网络和广播地址转换成名称;
-c<数据包数目>:收到指定的数据包数目后,就停止进行倾倒操作;
-d:把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出;
-dd:把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出;
-ddd:把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出;
-e:在每列倾倒资料上显示连接层级的文件头;
-f:用数字显示网际网络地址;
-F<表达文件>:指定内含表达方式的文件;
-i<网络界面>:使用指定的网络截面送出数据包;
-l:使用标准输出列的缓冲区;
-n:不把主机的网络地址转换成名字;
-N:不列出域名;
-O:不将数据包编码最佳化;
-p:不让网络界面进入混杂模式;
-q :快速输出,仅列出少数的传输协议信息;
-r<数据包文件>:从指定的文件读取数据包数据;
-s<数据包大小>:设置每个数据包的大小;
-S:用绝对而非相对数值列出TCP关联数;
-t:在每列倾倒资料上不显示时间戳记;
-tt: 在每列倾倒资料上显示未经格式化的时间戳记;
-T<数据包类型>:强制将表达方式所指定的数据包转译成设置的数据包类型;
-v:详细显示指令执行过程;
-vv:更详细显示指令执行过程;
-x:用十六进制字码列出数据包资料;
-w<数据包文件>:把数据包数据写入指定的文件。

2.实用命令实例

2.1 默认启动,可以在控制台输出当前车机所有网络交互的数据包

1
tcpdump

2.2 监视指定网络接口的数据包

查看经过wifi接口的数据包

1
tcpdump -i wlan0

2.3 监视指定主机和端口的数据包

如果想要获取主机210.27.48.1接收或发出的telnet包,使用如下命令

1
tcpdump tcp port 23 and host 210.27.48.1

2.4 输出cap文件

1
tcpdump -i wlan0 -w account.cap

3.使用wireshark查看网络请求交互过程

首先ping一下请求的域名,查看TSP的ip是多少,可以看到TSP的ip是:193.112.237.202

1
64 bytes from 193.112.237.202: icmp_seq=4 ttl=52 time=19.675 ms

将account.cap拉入wireshark, 在过滤器中过滤无用的交互逻辑

1
ip.dst == 193.112.237.202 || ip.dst == 10.41.175.123

车机与tsp交互数据包.png

然后分析车机与TSP交互的数据包。可以看到wireshark将http握手的报文涂成灰色了。

一次完整的网络交互.png

点开ApplicationData数据包,可以看到传输的数据报是加密的。

TLS加密后的数据.png