Linux主机Tcpdump使用 您所在的位置:网站首页 linux抓取报文命令 Linux主机Tcpdump使用

Linux主机Tcpdump使用

2023-04-02 16:32| 来源: 网络整理| 查看: 265

1、安装前系统信息

        ifconfig查看系统网络接口情况。这里可以看到3个interface,ens160是正常使用的网口,lo是主机的loopback地址127.0.0.1。另外,由于centos安装在虚拟主机上,virbr0是KVM默认创建的一个Bridge,其作用是为连接其上的虚机网卡提供NAT访问外网的功能等。后续用tcpdump抓包使用的是ens160网络接口。 

         tcpdump --v命令查看系统是否已经安装tcpdump或者已经安装的版本。

        若未安装,则通过yum install tcpdump安装即可。

 2、默认命令启动抓包

        这时可以用命令tcpdump启动抓包试试了....... 是不是满窗口的字符刷屏,ctrl+c可以让抓包停下来。tcpdump会显示有多少packets captured。用默认tcpdump命令抓包意义不大,我们需要借助命令参数过滤目标数据包,且保存下来供分析(一般在Linux主机不方便详细分析tcpdump抓取的数据包,采取的方式是把抓包保存后放到windows主机上使用wireshark分析)

3、使用tcpdump参数过滤目标报文

        (1)使用tcpdump -i指定抓包的网络接口,如tcpdump -i ens160

        (2)使用tcpdump host指定数据包发送或接收主机名称/ip地址, 如 tcpdump host 192.168.3.100。这里192.168.3.100是我随便指定的,没有相关的数据包,所以得到如下空空如也。更进一步可以使用src host 和 dst host来具体指定是数据包的源host还是接收host。tcpdump当然也可以过滤网段,比如tcpdump net 192.168

         (3)使用tcpdump tcp port 或者 tcpdump udp port指定端口,比如tcpdump tcp port 23抓telnet报文,或者tcpdump tcp port 22抓ssh报文。这里也可以不写端口号,直接写成tcpdump tcp port ssh。

        (4)使用tcpdump udp或者 tcpdump tcp、tcpdump icmp等命令,指定具体的协议抓包。注意的是ip、icmp、arp、rarp、tcp、udp这些选项等都要放到第一个参数的位置。

        tcpdump具体参数还有很多,可参考tcpdump --h命令或网上有很多资源查找。

 4、包数据保存和导出

        tcpdump -i ens160 -w ./ssh_target_68.pcap

        tcpdump -i ens160 -s0 -w ./ssh_target_all.pcap

        第一个命令没有使用-s0即默认抓取数据包前68字节,第二个命令抓取全部报文。抓取的数据包被保存到pcap文件中,命令行不再回显。crtl+c停止抓包后,可以看到结果。

        将pcap文件导出到windows wireshark即可查看分析如下



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有