本文概要: 如果只是在本地进行抓包,可以使用fiddler抓包就可以了,在有些情况下得到服务器上进行抓包,此时就需要使用tcpdump命令了。

1 命令解析

1.1 参数

  • i 后面接网卡
  • nn 截取包中显示请求ip和端口
  • A 可以显示出Http请求所有信息,如参数信息
  • w 将截取的信息写入到文件
  • x 把中文变成16进制,不使用时,显示”…”

1.2 使用src和dst抓取发送信息和接受信息

这样192.168.1.231这台主机接收到的包和发送的包都会被抓取。

这样只有192.168.1.231这台主机发送的包才会被抓取。

这样只有192.168.1.231这台主机接收到的包才会被抓取。

1.3 监听指定主机和端口

多个条件可以用and,or连接。上例表示监听192.168.1.231主机通过80端口发送的数据包。

2 实例

2.1 使用ducmp抓包

在batac进行抓包,已知mobile调用服务A的接口ip为192.168.228.123

1. 抓取请求发送给服务A的数据,这个命令是用来分析请求服务A的参数

sudo  tcpdump  -i   eth0   -nn   dst   host  192.168.228.123   -A    -w  ~/dst

2. 抓取服务A返回的数据,这个命令是用来分析从服务A获取的数据

sudo  tcpdump  -i   eth0   -nn   src   host  192.168.228.123   -A    -w  ~/src

3.注意

导出文件时,使用”-w”,不使用”>”,否则使用Wireshark无法打开文件

2.2 使用Wireshark查看tcpdump抓包的数据

1. 为什么使用wireshark来分析tcpdump的结果?

因为tcpdump的请求返回的json的结中如果包含中文,就会显示为…..,所以现在使用Wireshark来显示中文.而且还可以结构化的显示数据

2. 查看抓取的dst文件,查看服务A发送的信息

如下图中,1-表示的请求;2-表示的时HTTP的信息;3-表示post请求的的json类型的参数

untitled

untitled

3. 查看抓取的src文件,查看服务A返回数据

如下图中,1-表示的请求;2-表示的时HTTP的信息;3-表示的返回的json数据

untitled2

(全文完)

分类&标签