抓包工具 tcpdump 和 tshark

2016-08-12

抓包工具 tcpdump 和 tshark

  有时候,我们会想知道某个网卡上都有哪些数据包。尤其是初步判定服务器上有流量攻击时,此时,使用抓包工具来抓一下数据包,就可以知道有哪些 IP 在攻击了。

  tcpdump 工具

  使用 yum install -y tcpdump 安装,tcpdump -nn -i eth0 抓包
bf81947f9a3a71970c687a87ea1369b06.png

  上例中第三列和第四列显示的信息为哪一个 IP+port 在连接哪一个 IP+port,后面的信息是该数据包的相关信息。-i 选项后面跟设备名称,如果想抓 eth1 网卡的包,后面则要跟 eth1。至于 -nn 选项的作用是让第三列和第四列显示成 IP+port 的形式,如果不加 -nn 则会显示成主机名 + 服务名称。

[root@localhost ~]#tcpdump -nn -i eth1 host 192.168.1.100 and port 80 -c 100 -w 1.cap

  说明:可以用 host 指定 ip,port 指定端口,-c 指定包数量,-w 写入指定文件里。这样 1.cap 文件里面是包的内容,而如果不加-w 直接在屏幕上显示的不是数据包,而是数据流向。这个 1.cap 可以下载到 windows 上,然后使用 wireshark 查看。

  wireshark 工具

  在 Linux 下使用 wireshark 是命令行形式的,需要用 yum install -y wireshark 安装。

  执行的命令为 tshark:

[root@localhost ~]#tshark -n -t a -R http.request -T fields -e "frame.time" -e "ip.src" -e "http.host" -e "http.request.method" -e "http.request.uri"

  这条命令用于 Web 服务器,可以显示如下信息:

Mar 21,2014 15:37:08.857507000 199.30.20.38 k168.123.com GET /thread-4861-1-1.html

  这类似于 Web 访问日志,有时候若服务器没有配置访问日志,可以临时使用该命令查看一下当前服务器上的 Web 请求。


标题:抓包工具 tcpdump 和 tshark
作者:散宜生
地址:https://17kblog.com/articles/2016/08/12/1471008342345.html