前言
这个网络嗅探其实就是用wireshark抓包。那时候赶着做,就随便写了点。参考价值比较少。
第一次实践是因为寒假在家摆烂,然后开学前两天做的,所以质量不是很好。不过也算是一次实践,看看就好。
要求
使用网络嗅探工具抓获网络通信数据包,分析数据包中的敏感信息
关键步骤
1.打开Wireshark。
2.点击捕获,然后如图设置,而后点击开始进行捕获(因为我的电脑是WIFI上网,所以要选择WLAN进行捕获;上图中的本地连接:如果电脑开启了热点,手机连接了热点,那么这些本地连接就会有网络波动)
3.如下图是捕获结果:
因为网络连接访问了很多IP地址,所以目的IP地址有很多,比较乱,所以我拿百度的IP地址进行查看。
4.打开cmd窗口,然后输入:ping www.baidu.com 测试主机与百度的连接情况。发现可以正常连接,而后我们返回Wireshark界面,在上面的搜索栏中,输入:ip.addr == 183.232.231.172,按下回车键后就可以过滤掉主机与百度之外的网络信息了。
5.数据包分层协议展示:
6.在前面的结果中可以看出,主机与百度之间的连接主要使用了ICMP和TCP协议。
如上图,显示的是TCP的三次握手协议。
第一次握手协议:
主机向目的ip发送一个TCP,标志位为SYN,序号为0,代表主机请求连接。数据包的关键属性如下:
SYN :标志位,表示请求建立连接
Seq = 0 :初始建立连接值为0,数据包的相对序列号从0开始,表示当前还没有发送数据
Ack =0:初始建立连接值为0,已经收到包的数量,表示当前没有接收到数据
第二次握手协议:
目的服务器发回确认包,标志位为SYN,ACK,将确认序号(Acknowledgement Number)设置为客户的ISN加1。即0+1=1,如下图。数据包的关键属性如下:[SYN + ACK]: 标志位,同意建立连接,并回送SYN+ACKSeq = 0 :初始建立值为0,表示当前还没有发送数据
Ack = 1:表示当前端成功接收的数据位数,虽然客户端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位。(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)
第三次握手:
主机再次发送确认包(ACK)SYN标志位为0,ACK标志位为1。并且把服务器发来的ACK序号字段+1,放在确认字段中发送给对方,并在数据段写ISN的+1,如下图:
数据包的关键属性如下:
ACK :标志位,表示已经收到记录
Seq = 1 :表示当前已经发送1个数据
Ack = 1 : 表示当前端成功接收的数据位数,虽然服务端没有发送任何有效数据,确认号还是被加1,因为包含SYN或FIN标志位(并不会对有效数据的计数产生影响,因为含有SYN或FIN标志位的包并不携带有效数据)。
就这样通过了TCP三次握手,建立了连接。开始进行数据交互
网络嗅探在信息安全中的作用分析
网络嗅探是信息安全应用中常用的技术,可以作为黑客入侵的工具,也可以作为计算机安全管理的工具。对于安全维护人员来说,可以借助网络嗅探对网络进行监控,及时发现网络攻击行为。比如说,可以查看源ip地址访问网站时是否正常完成了TCP三次握手协议,如果没有正常完成三次握手协议,说明是非正常访问。总之,网络嗅探对于维护计算机安全具有重要的意义。