论文部分内容阅读
(北京政法职业学院)
摘 要:网络协议是计算机网络教学中重要的内容,同时也是不容易理解的教学难点。本文使用sniffer软件,让sniffer在真实网络环境中截获数据包,再利用sniffer解码功能,详细的展示了网络数据包的具体内容,具体分析了ip协议的格式、tcp协议格式以及tcp协议传输的三次握手过程。其他协议也可以类似的进行分析。
关键词:sniffer;ip协议;tcp协议
计算机网络已成为人们工作、生活中必不可少的一部分,而计算机网络的核心是网络协议,网络协议的教学一直是一个难点问题。本文通过将SnifferPro这一网络探测和分析软件引入到网络协议教学中的实践探究,给出了一种能直观的理解和掌握网络协议的方法。
1 Sniffer简介
Sniffer,中文可以翻译为嗅探器,也叫抓数据包软件,是一种基于被动侦听原理的网络分析方式。使用这种技术方式,可以监视网络的状态、数据流动情况以及网络上传输的信息。
如果使用Hub,即基于共享网络的情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据包则不予响应。如果某个工作站的网络接口处于混杂模式,那么它就可以捕获网络上所有的数据包。
但是现代网络常常采用交换机作为网络连接设备枢纽,在通常情况下,交换机不会让网络中每一台主机侦听到其他主机的通讯,因此Sniffer技术在这时必须与网络端口镜像技术进行配合。而衍生的安全技术则是通过ARP欺骗来变相达到交换网络中的侦听。
2 Sniffer分析ip协议格式
Sniffer可以对在各种网络上运行的400多种协议进行解码,如TCP/IP、Novell Netware、DECnet、SunNFS、X-Windows、HTTP、TNS SLQ*Net v2(Oracle)、Banyan v5.0和v6.0、TDS/SQL(Sybase)、X.25、Frame Realy、PPP、Rip/Rip v2、EIGRP、APPN、SMTP等。还广泛支持专用的网络互联桥/路由器的帧格式。
Sniffer可以在全部七层OSI协议上进行解码,目前没有任何一个系统可以做到对协议有如此透彻的分析;它采用分层方式,从最低层开始,一直到第七层,甚至对Oracle数据库、SYBASE数据库都可以进行协议分析;每一层用不同的颜色加以区别。下面就使用sniffer的解码功能来分析IP协议和tcp协议的格式。
2.1 虚拟机环境设置
配置一台虚拟机,通过桥接模式将虚拟机和物理机连接到同一个局域网,IP分别设置为192.168.1.102与192.168.1.104,并在虚拟机中安装Sniffer软件。选择Capture菜单中的Defind Filter,选择address项,在address栏里选择“IP”,在station1和2中分别填写两台机器的IP地址,选择Advanced选项,选择选IP/ICMP。
2.2 用Sniffer捕获分析IP数据包
在Sniffer的工具栏中选择上述新建的過滤器,点击Start按钮开始捕获数据包,在真机的命令行窗口中执行ping虚拟机的命令。
点击Sniffer工具栏中的Stop and Display按钮,在界面中切换到Decode栏,如图1所示。如图1中的标注所示,界面中从上到下分为三部分。第一部分中的每一行对应一个发出或收到的ICMP数据包,选中一个具体的数据包后,可在第二、第三部分观察到该数据包的IP报头内容解析和字节流。第二部分是按协议结构解析出的IP报头的各字段内容。第三部分是IP报头的字节流内容,在第二部分中点击选择具体的某一协议字段后,其对应的字节流将在第三部分中高亮显示。
2.3 结果分析
在图1所示的Sniffer界面中,可以直观地观察到每一个IP报头的解析结果。根据观察到的协议中各字段的顺序和长度,以4字节为单位,将IP协议结构归纳如表1所示。表1中,每行对应字节流中的4个字节,通过表1可形象地观察到协议中各个字段在字节流中的分布。
3 Sniffer分析tcp协议
3.1 tcp协议的封装格式
类似第2节的操作过程,可以在sniffer中截获tcp数据包,如图2所示。在图2所示的Sniffer界面中,可以直觀地观察到每一个TCP报头的解析结果。根据观察到的协议中各字段的顺序和长度,以4字节为单位,将TCP协议结构归纳如表2所示。
3.2 tcp协议的三次握手
TCP协议的三次握手过程也可以在sniffer中直观的看到,TCP第一次握手:192.168.1.104向192.168.1.10
2发送请求连接(SYN=1),如图3所示。
TCP第二次握手:192.168.1.102回应192.168.1.104确认连接(ACK=1,SYN=1),如图4所示。
同样可以分析TCP第三次握手:192.168.1.104回应192.168.1.102(ACK=1)。
结束语
可见,通过在sniffer截获数据包,可以清楚的看到每种协议对应数据包的具体内容,从而能够更好的理解网络协议和数据包的传输过程。这种方法对于学习网络协议非常有效。
参考文献
[1]赵北庚.虚拟机环境下基于Sniffer的ARP协议结构研究[J].数据技术与应用,2015年1月.
[2]叶恒舟.《TCP/IP协议分析》教学实践与反思贺惠萍,教育教学论坛,2017年2月第8期.
[3]刘洪涛,张纲,程良伦.基于SnifferPro的虚拟实验室构建[J].实验室研究与探索,2011年8月.
[4]百度百科.
作者简介:乔明秋(1982-),女,硕士研究生,主要研究领域为信息安全;赵振洲(1978-),男,硕士研究生,主要研究领域为数据恢复,信息安全。
摘 要:网络协议是计算机网络教学中重要的内容,同时也是不容易理解的教学难点。本文使用sniffer软件,让sniffer在真实网络环境中截获数据包,再利用sniffer解码功能,详细的展示了网络数据包的具体内容,具体分析了ip协议的格式、tcp协议格式以及tcp协议传输的三次握手过程。其他协议也可以类似的进行分析。
关键词:sniffer;ip协议;tcp协议
计算机网络已成为人们工作、生活中必不可少的一部分,而计算机网络的核心是网络协议,网络协议的教学一直是一个难点问题。本文通过将SnifferPro这一网络探测和分析软件引入到网络协议教学中的实践探究,给出了一种能直观的理解和掌握网络协议的方法。
1 Sniffer简介
Sniffer,中文可以翻译为嗅探器,也叫抓数据包软件,是一种基于被动侦听原理的网络分析方式。使用这种技术方式,可以监视网络的状态、数据流动情况以及网络上传输的信息。
如果使用Hub,即基于共享网络的情况下,网络上所有的机器都可以“听”到通过的流量,但对不属于自己的数据包则不予响应。如果某个工作站的网络接口处于混杂模式,那么它就可以捕获网络上所有的数据包。
但是现代网络常常采用交换机作为网络连接设备枢纽,在通常情况下,交换机不会让网络中每一台主机侦听到其他主机的通讯,因此Sniffer技术在这时必须与网络端口镜像技术进行配合。而衍生的安全技术则是通过ARP欺骗来变相达到交换网络中的侦听。
2 Sniffer分析ip协议格式
Sniffer可以对在各种网络上运行的400多种协议进行解码,如TCP/IP、Novell Netware、DECnet、SunNFS、X-Windows、HTTP、TNS SLQ*Net v2(Oracle)、Banyan v5.0和v6.0、TDS/SQL(Sybase)、X.25、Frame Realy、PPP、Rip/Rip v2、EIGRP、APPN、SMTP等。还广泛支持专用的网络互联桥/路由器的帧格式。
Sniffer可以在全部七层OSI协议上进行解码,目前没有任何一个系统可以做到对协议有如此透彻的分析;它采用分层方式,从最低层开始,一直到第七层,甚至对Oracle数据库、SYBASE数据库都可以进行协议分析;每一层用不同的颜色加以区别。下面就使用sniffer的解码功能来分析IP协议和tcp协议的格式。
2.1 虚拟机环境设置
配置一台虚拟机,通过桥接模式将虚拟机和物理机连接到同一个局域网,IP分别设置为192.168.1.102与192.168.1.104,并在虚拟机中安装Sniffer软件。选择Capture菜单中的Defind Filter,选择address项,在address栏里选择“IP”,在station1和2中分别填写两台机器的IP地址,选择Advanced选项,选择选IP/ICMP。
2.2 用Sniffer捕获分析IP数据包
在Sniffer的工具栏中选择上述新建的過滤器,点击Start按钮开始捕获数据包,在真机的命令行窗口中执行ping虚拟机的命令。
点击Sniffer工具栏中的Stop and Display按钮,在界面中切换到Decode栏,如图1所示。如图1中的标注所示,界面中从上到下分为三部分。第一部分中的每一行对应一个发出或收到的ICMP数据包,选中一个具体的数据包后,可在第二、第三部分观察到该数据包的IP报头内容解析和字节流。第二部分是按协议结构解析出的IP报头的各字段内容。第三部分是IP报头的字节流内容,在第二部分中点击选择具体的某一协议字段后,其对应的字节流将在第三部分中高亮显示。
2.3 结果分析
在图1所示的Sniffer界面中,可以直观地观察到每一个IP报头的解析结果。根据观察到的协议中各字段的顺序和长度,以4字节为单位,将IP协议结构归纳如表1所示。表1中,每行对应字节流中的4个字节,通过表1可形象地观察到协议中各个字段在字节流中的分布。
3 Sniffer分析tcp协议
3.1 tcp协议的封装格式
类似第2节的操作过程,可以在sniffer中截获tcp数据包,如图2所示。在图2所示的Sniffer界面中,可以直觀地观察到每一个TCP报头的解析结果。根据观察到的协议中各字段的顺序和长度,以4字节为单位,将TCP协议结构归纳如表2所示。
3.2 tcp协议的三次握手
TCP协议的三次握手过程也可以在sniffer中直观的看到,TCP第一次握手:192.168.1.104向192.168.1.10
2发送请求连接(SYN=1),如图3所示。
TCP第二次握手:192.168.1.102回应192.168.1.104确认连接(ACK=1,SYN=1),如图4所示。
同样可以分析TCP第三次握手:192.168.1.104回应192.168.1.102(ACK=1)。
结束语
可见,通过在sniffer截获数据包,可以清楚的看到每种协议对应数据包的具体内容,从而能够更好的理解网络协议和数据包的传输过程。这种方法对于学习网络协议非常有效。
参考文献
[1]赵北庚.虚拟机环境下基于Sniffer的ARP协议结构研究[J].数据技术与应用,2015年1月.
[2]叶恒舟.《TCP/IP协议分析》教学实践与反思贺惠萍,教育教学论坛,2017年2月第8期.
[3]刘洪涛,张纲,程良伦.基于SnifferPro的虚拟实验室构建[J].实验室研究与探索,2011年8月.
[4]百度百科.
作者简介:乔明秋(1982-),女,硕士研究生,主要研究领域为信息安全;赵振洲(1978-),男,硕士研究生,主要研究领域为数据恢复,信息安全。