《电子技术应用》
您所在的位置:首页 > 通信与网络 > 业界动态 > 网络扫描:监听数据包

网络扫描:监听数据包

2021-07-10
来源:计算机与网络安全
关键词: 监听 网络

  除ARP和DHCP请求外,在局域网中还有一些协议,会主动发送一些广播或组播包,如BROWSER、SSDP和LLMNR等。此时通过监听方式,可以了解到一些活动主机的信息。本文介绍对这些协议数据包进行监听的方法。

  1. 使用Wireshark工具

  Wireshark是一款非常流行的网络封包分析软件,功能十分强大。使用该工具可以截取各种网络封包,并显示网络封包的详细信息。下面介绍使用Wireshark工具监听局域网中的各种广播数据包。

  使用Wireshark进行数据包监听。具体操作步骤如下:

  1)关闭系统中运行的程序,以免产生流量影响对数据包的分析。然后启动Wireshark工具。在图形界面依次选择“应用程序”|“嗅探/欺骗”|wireshark命令,将弹出如图1所示对话框。或者,在命令行输入如下命令:

  root@daxueba:~# wireshark

  执行以上命令后,将弹出如图1所示对话框。

微信图片_20210710172557.jpg

图1  警告信息

  2)该对话框中显示的是一个警告信息,提示在init.lua文件中使用dofile函数禁用了使用超级用户运行Wireshark。这是因为Wireshark工具是使用Lua语言编写的,并且在Kali Linux中的init.lua文件中有一处语法错误,所以会提示Lua:Error during loading:。此时只需要将init.lua文件中倒数第二行代码修改一下就可以了,原文件中倒数第一、二行代码如下:

  root@daxueba:~# vi /usr/share/wireshark/init.lua

  dofile(DATA_DIR“console.lua”)

  --dofile(DATA_DIR“dtd_gen.lua”)

  将以上第1行修改如下:

  --dofile(DATA_DIR“console.lua”)

  --dofile(DATA_DIR“dtd_gen.lua”)

  修改完该内容后,再次运行Wireshark将不会提示以上警告信息。

  3)此时,单击OK按钮,即可启动Wireshark工具,如图2所示。

微信图片_20210710172602.jpg

图2  Wireshark的主界

4)在其中选择eth0接口,并单击按钮,将开始捕获数据包,如图3所示。或者,直接双击选择的网络接口,也可以开始捕获数据包。

微信图片_20210710172605.jpg

图3  监听到的数据包

  5)从图3中可以看到监听到的所有数据包。从Protocol(协议)列中可以看到每个数据包的协议。例如,监听到的协议数据包有ICMPv6、BROWSER、SSDP、NBNS、LLMNR、ARP、DHCP。此时,通过分析源(Source)和目标地址(Destination),即可知道这些包是由哪个主机发送的,进而确定该主机的状态。为了能够快速找到广播的数据包,可以使用显示过滤器进行过滤。显示过滤器的语法格式如下:

  ip.dst==广播地址

  在本例中广播地址为192.168.33.255,所以输入的显示过滤器为“ip.dst==192.168.33.255”。当过滤成功后,显示如图4所示。

微信图片_20210710172608.jpg

图4  广播数据包

  6)在图4中显示的数据包都是广播数据包。发送这几个广播数据包的源IP地址分别是192.168.33.147和192.168.33.1。由此可以说明,当前局域网中IP地址为192.168.33.147和192.168.33.1的主机是活动的。

  2. 使用Tcpdump工具

  Tcpdump是一个命令行的嗅探工具,可以基于过滤表达式抓取网络中的报文,分析报文,并且在包层面输出报文内容以便于包层面的分析。其中,使用Tcpdump工具监听数据包的语法格式如下:

  tcpdump -i < interface >-w <file>

  以上语法中的选项及含义如下:

  -i:指定监听的网络接口。

  -w:指定数据包保存的文件名。

  使用Tcpdump工具监听局域网(192.168.33.0/24)中的广播数据包。执行命令如下:

  root@daxueba:~# tcpdump -i eth0 'dst 192.168.33.255'

  执行以上命令后,将显示如下信息:

  tcpdump: verbose output suppressed, use -v or -vv for full protocol decode

  listening on eth0, link-type EN10MB (Ethernet), capture size 262144 bytes

  16:42:08.253592 IP 192.168.33.1.netbios-ns > 192.168.33.255.netbios-ns:

  NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST

  16:42:09.003718 IP 192.168.33.1.netbios-ns > 192.168.33.255.netbios-ns:

  NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST

  16:42:09.753975 IP 192.168.33.1.netbios-ns > 192.168.33.255.netbios-ns:

  NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST

  16:43:40.623859 IP 192.168.33.147.netbios-dgm > 192.168.33.255.netbios-dgm:

  NBT UDP PACKET(138)

  16:43:40.623967 IP 192.168.33.147.netbios-dgm > 192.168.33.255.netbios-dgm:

  NBT UDP PACKET(138)

  16:55:47.618389 IP 192.168.33.147.netbios-dgm > 192.168.33.255.netbios-dgm:

  NBT UDP PACKET(138)

  16:55:47.618562 IP 192.168.33.147.netbios-dgm > 192.168.33.255.netbios-dgm:

  NBT UDP PACKET(138)

  16:58:20.188490 IP 192.168.33.1.netbios-ns > 192.168.33.255.netbios-ns:

  NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST

  16:58:20.939089 IP 192.168.33.1.netbios-ns > 192.168.33.255.netbios-ns:

  NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST

  16:58:21.689402 IP 192.168.33.1.netbios-ns > 192.168.33.255.netbios-ns:

  NBT UDP PACKET(137): QUERY; REQUEST; BROADCAST

  从以上输出信息中可以看到监听到的数据包。从显示的包信息中,可以看到数据包的源和目标IP地址、使用的协议及包长度。如果想停止监听数据包的话,按Ctrl+C组合键后,将显示如下信息:

  ^C

  10 packets captured

  10 packets received by filter

  0 packets dropped by kernel

  从输出的信息中可以看到,捕获到了10个数据包。在以上命令中,没有指定将输出结果写入到一个文件中,所以是标准输出。如果使用-w选项指定捕获文件的话,将不会是标准输出。此外,还可以使用Wireshark工具,以图形界面分析捕获到的包。




电子技术图片.png

本站内容除特别声明的原创文章之外,转载内容只为传递更多信息,并不代表本网站赞同其观点。转载的所有的文章、图片、音/视频文件等资料的版权归版权所有权人所有。本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如涉及作品内容、版权和其它问题,请及时通过电子邮件或电话通知我们,以便迅速采取适当措施,避免给双方造成不必要的经济损失。联系电话:010-82306118;邮箱:aet@chinaaet.com。