当前位置:文档之家› 协议数据包的捕获与分析

协议数据包的捕获与分析

目录

一、实习任务 (2)

二、协议分析 (2)

1、捕获ARP数据包,分析研究之............................................... 错误!未定义书签。

2、捕获ICMP数据包,分析研究之............................................. 错误!未定义书签。

3、捕获TCP数据包并分析 (5)

4、捕获HTTP数据包并分析 (5)

5、捕获DNS数据包并分析 (5)

6、捕获DHCP数据包并分析 (5)

三、总结 (17)

一、实习任务

1、捕获APR请求、应答数据包,分析其组成特征;

弄清楚ARP协议的作用,对LAN内、LAN之间,APR是如何工作的?APR缓冲的内容如何保存与其作用?请求与应答包的区别。

2、捕获ICMP数据包,分析研究之;

弄清楚ICMP数据包的分类、作用,捕捉Ping命令数据包,如何构成ICMP协议包,请示与应答包的区别,怎样传输的。

3、捕获TCP数据包并分析;

捕获一对通信的TCP连接、数据传送、释放的整个过程,分析其三次握手连接、四次握手释放的会话过程中每一步通信的参数传送,以及可靠传输的实现。

4、捕获HTTP、DNS数据包,分析其构成;

捕获本机浏览外部某一网站时的DNS、HTTP数据包,取DNS、HTTP典型数据包各一个,列出其应用层、传输层、IP层、数据链路层上各层上数据包相应参数,首部内容,并对感兴趣的部分进行深入分析。

5、捕获DHCP数据包,分析其构成;

本机设置为自动获取IP地址,捕获本机的DHCP数据包,列出数据包包含的内容,并对其构成进行分析,检查数据包中是否包含本机需要的数据。

二、协议分析

1、ARP协议分析

(同一捕获方案得到的多个协议可以写在一起)

(1)捕获方案

利用Ethereal网络协议分析软件及PING命令发送请求可捕捉数据包。

(2)捕获数据包与协议分析

数据包字段分析:

ARP请求:

字段值含义

Hardware type 0x0001 硬件类型

Protocol type 0x0800 协议类型

Hardware size 6 硬件地址长度

Protocol size 4 协议地址长度

Opcode 0x0001 操作类型

Sender MAC address 00:14:2a:69:c7:2c 源MAC地址

Sender IP address 172.16.56.42 源协议地址

Target MAC addess 00:00:00:00:00:00 目的MAC地址

Target IP addess 172.16.59.217 目的协议地址

ARP答应:

(该表格应与截图对应)

字段值含义Hardware type 0x0001 硬件类型Protocol type 0x0800 协议类型Hardware size 6 硬件地址长度Protocol size 4 协议地址长度Opcode 0x0002 操作类型Sender MAC address 00:14:2a:6e:4c:2f 源MAC地址Sender IP address 172.16.59.217 源协议地址Target MAC addess 00:14:2a:69:c7:2c 目的MAC地址Target IP addess 172.16.56.42 目的协议地址

协议分析:

(协议的工作过程如何在捕获到的数据包中体现)。

如果一个主机的IP地址和ARP请求中的目的IP地址相同,该主机会对这个请求数据包做出ARP应答,将其MAC地址发送给请求者。这时,双方主机的ARP缓存中各自会增加一条对方的IP地址与MAC地址的映射表项,此表会定期刷新,以防止由于主机离线或网卡改变所造成的解析错误。

当主机A在LAN内向主机B发送IP数据报时,先在其ARP高速缓存内查看有无B的IP 地址。如有,就在其中查出对应的硬件地址,再将硬件地址写入MAC帧发往次硬件地址。当查不到,(1)ARP进程在本LAN上广播发送一个ARP请求分组。(2)本LAN上所有运行ARP 进程的主机都收到此分组。(3)主机B在请求分组中见到自己的IP地址,向A发送ARP 响应分组,并写入自己的硬件地址。其余主机不理会此分组。(4)主机A收到B的ARP响应分组后,再去ARP高速缓存中写入B的IP地址和硬件地址映射。

当要解析的地址不在本LAN内时,需将与本LAN相连的路由器的IP地址解析为硬件地址,将IP数据报发送给路由,再由路由找出下一跳的路由硬件地址,再由其转发给目的机器,目的机器按相似的方法回答自己的硬件地址.

主机将已经得得到的地址映射写入ARP缓存中,而且在超过生存时间之后将该项目删除,以免地址映射过时而出错。ARP的缓存可使网络上短时间内重复询问的ARP广播的数量减少,提高网络利用效率.

请求包和应答包的区别:1、请求包是发送的一个广播分组,本LAN上的所有主机上运行的ARP都收此ARP请求分组,而应答包是一个单播发送的,只有目的主机才理睬。2、内容不太一样:请求包:我的IP地址是XX,硬件地址是YY,我想知道IP地址为ZZ主机的硬件地址。而发送包:我的IP地址是ZZ,硬件地址是WW。

2、捕获ICMP数据包,分析研究之

ICMP数据包的分类

ICMP协议数据包对IP分组在传送时出现的异常情况进行报告,对IP报文传输时出现的差错、拥塞、路由改变、以及路由器或主机信息的获取等情况,向源端主机提交报告,由源主机采取相应措施,改进传输质量。

ICMP协议包构成:ICMP的前8字节是:报文类型1字节、代码1字节、校验和2字节,选项部分4字节。ICMP报文分为两大类——差错报告报文与询问报文,差错报文共有五种、询问报文有两种

ICMP请求包

字段值含义

Type 8 类型

Code 0 代码

Checksum 0x365c 校验和

Identifier 0200 鉴别

Sequence number 0x1500 序列号

ICMP答应包:

字段值含义

Type 0 类型

Code 0 代码

Checksum 0x3e5c 校验和

Identifier 0200 鉴别

Sequence number 0x1500 序列号

请求和应答数据包的区别是在于类型,请求包为Type8,而应答包为Type0。ICMP与IP 协议同处于TCP/IP模型的网际层,但ICMP报文是封装在IP数据报的数据部分进行传输的。

3、捕获TCP数据包并分析

TCP建立连接

第一次握手

第二次握手

第三次握手

TCP数据包分析:(本地主机A:172.16.56.42;目的主机B:210.38.137.119)

第一次握手:本地主机A向目的主机B发送连接请求。

第二次握手:目的主机B确认本地主机A的连接请求--建立正向连接,同时发出对B的反向连接请求。

第三次握手:本地主机A响应目的主机B的连接请求—建立反向连接。

TCP连接过程主要信息记录表

步骤源端口目的端口类型方向主要参数

①205180SYN A→B Seq=0,MSS=1460, win=0,len=0

②802051SYN,ACK B→A Seq=0,ACK=1,win=5840,MSS=1460

③205180ACK A→B Seq=1,ACK=1,win=65535,len=0

TCP释放链接第一次步

第二次步

第三步

第四步

分析TCP释放过程,与连接过程相似,需要经过四个步骤:

第一步:B对A发出释放请求——结束本次数据传送;

第二步:A确认B释放反向连接;

第三步: A对B发出释放请求;

第四步: B确认A的请求,释放正向连接.

TCP释放过程主要信息记录表

步骤源端口目的端口类型方向主要参数

1802051FIN,ACK B→A seq=658,ACK=386, win=6912len=0

2205180ACK A→B seq=386,ACK=659,win=64878, len=0

3205180FIN,ACK A→B seq=386,ACK=659,win=64878,len=0

4802051ACK B→A seq=659,ACK=387,win=6912,len=0

4、捕获HTTP数据包并分析

HTTP协议是WWW浏览器与WWW服务器之间进行交互通信的协议,客户机利用HTTP协议向服务器请求所需资源,服务器利用HTTP协议将指定资源递交给客户,这种传输是一个完整的过程,成功则全部传送,中间出现错则取消前面的传送——将这种交互传送看作是一个事务,成功则全部完成,否则事务撤销,这就是面向事务的概念。

HTTP请求报文

HTTP响应报文

HTTP链路层分析

字段值含义Source 00:14:2a:69:c7:2c 源地址Destination 00:19:c6:04:3d:81 目的地址Type 0x0800 类型

网际层

HTTP网际层分析

字段值含义Version 4 版本Header length 20 首部长度Differentiated Services Field 0x00 区分服务Total length 396 总长度Identification 0x8036 标识Fragment offset 0 标志

Time to live 64 生存时间Protocol 0x06 使用协议Header checksum 0x01f3 首部校验和Source 172.16.56.42 源地址Destination 121.14.89.250 目的地址

HTTP运输层分析

字段值含义

Source port 1684 运输层源端口Destination port 80 目的端口

Sequence number 1 序号

Next sequence number 357 下次序号Acknowledgement number 1 确认号

Header length 20 bytes 头长度

Flags 0x0018 标志

Window size 65535 窗口

Checksum 0x5fb0 校验和

应用层

HTTP应用层分析

应用层对多行"首部字段","状态"值的逐行说明包括主机名、选用语言、连接状态等。

5、捕获DNS数据包并分析

链路层

DNS链路层分析

字段值含义Source 00:14:2a:69:c7:2c 源地址Destination 00:19:c6:04:3d:81 目的地址Type 0x0800 类型

网际层

DNS网际层分析

字段值含义Version 4 版本Header length 20 首部长度Differentiated Services Field 0x00 区分服务Total length 58 总长度Identification 0x8032 标识Fragment offset 0 标志

Time to live 64 生存时间Protocol 0x11 使用协议Header checksum 0xcb8f 首部校验和Source 172.16.56.42 源地址Destination 202.96.128.86 目的地址

运输层

DNS运输层分析

字段值含义

Source port 51306 运输层源端口Destination port 53 目的端口Length 38 长度Checksum 0x5fa0 校验和

应用层

DNS应用层分析

字段值含义Transaction ID 0x644e 交易ID Flags 0x0100 等级

Type A 类型

6、捕获DHCP数据包并分析

DHCP discover报文

字段值含义

Message type 1 操作码

Hardware type Ethernet 硬件类型

Hardware address length 6 硬件地址长度

Hops 0 跳数

Transaction ID 0xa301eb21 事务标识

Seconds elapsed 0 秒数

Client IP address 0.0.0.0 客户IP

Your IP address 0.0.0.0 你的主机IP地址

Next server IP address 0.0.0.0 下一个服务器的IP地址Relay agent IP address 0.0.0.0 中介代理的IP地址Client MAC address 00:14:2a:69:c7:2c 客户MAC地址

DHCP message type DHCP Discover DHCP消息类型

字段值含义

Message type 2 操作码

Hardware type Ethernet 硬件类型

Hardware address length 6 硬件地址长度

Hops 0 跳数

Transaction ID 0xa301eb21 事务标识

Seconds elapsed 0 秒数

Client IP address 0.0.0.0 客户IP

Your IP address 172.16.56.42 你的主机IP地址

Next server IP address 0.0.0.0 下一个服务器的IP地址Relay agent IP address 172.16.56.1 中介代理的IP地址Client MAC address 00:14:2a:69:c7:2c 客户MAC地址

DHCP message type DHCP offer DHCP消息类型Server identifier 172.16.56.1 供应商标识符

Subnet mask 255.255.255.0 子网掩码

router 172.16.56.1 路由

IP address lease time 12 hours IP地址的租用时间

字段值含义

Message type 1 操作码

Hardware type Ethernet 硬件类型

Hardware address length 6 硬件地址长度

Hops 0 跳数

Transaction ID 0xa301eb21 事务标识

Seconds elapsed 0 秒数

Client IP address 0.0.0.0 客户IP

Your IP address 0.0.0.0 你的主机IP地址

Next server IP address 0.0.0.0 下一个服务器的IP地址Relay agent IP address 0.0.0.0 中介代理的IP地址Client MAC address 00:14:2a:69:c7:2c 客户MAC地址

DHCP message type DHCP Request DHCP消息类型

字段值含义

Message type 2 操作码

Hardware type Ethernet 硬件类型

Hardware address length 6 硬件地址长度

Hops 0 跳数

Transaction ID 0xa301eb21 事务标识

Seconds elapsed 0 秒数

Client IP address 0.0.0.0 客户IP

Your IP address 0.0.0.0 你的主机IP地址

Next server IP address 0.0.0.0 下一个服务器的IP地址Relay agent IP address 0.0.0.0 中介代理的IP地址Client MAC address 00:14:2a:69:c7:2c 客户MAC地址

DHCP message type DHCP ACK DHCP消息类型Server identifier 172.16.56.1 供应商标识符

Subnet mask 255.255.255.0 子网掩码

router 172.16.56.1 路由

IP address lease time 12 hours IP地址的租用时间

三、总结

通过计算机网络课程的学习,我基本掌握了计算机网络的基础理论知识,但是对于计算机网络的理解不够深入。通过本次实习,让我对网络协议数据包的分析,掌握在TCP/IP模型中,各个层次上网络PDU的实际组成,深入理解网络协议的组成,对网络中传送数据的过程有更深入的认识,同时培养我一定的自学能力和独立分析问题、解决问题的能力,是我收获巨大。

参考文献

《计算机网络(第五版)》,谢希仁编著,电子工业出版社

《计算机网络(第4版)》,Andrew著,潘爱民译,清华大学出版社

实验五-IP协议分析

实验五IP协议分析 在这个实验里,我们将研究IP协议,通过执行traceroute程序来分析IP数据包发送和接收的过程。我们将研究IP数据包的各个字段,详细学习IP数据包的分片。 一、捕获traceroute 为了产生一个IP数据包,我们将使用traceroute程序来向一些目的地发送不同大小的数据包,这个软件我们在第一个实验已作过简单的尝试了。 但我们试图在IP头部首先发送一个或者更多的具有TTL的数据包,并把TTL的值设置为1;然后向同一个目的地发送一系列具有TTL值为2的数据包;接着向同一个目的地发送一系列具有TTL值为3的数据包等等。路由器在每次接收数据包时消耗掉一个TTL,当TTL达到0时,路由器将会向源主机返回一个ICMP的消息(类型为11的TTL溢出),这样一个TTL值为1的数据包将会引起路由器从发送者发回一个ICMP的TTL溢出消息产生一跳,TTL值为2的数据包发送时会引起路由器产生两跳,TTL值为3的数据包则会引起路由器产生3跳。基于这种方式,主机可以执行traceroute观察ICMP的TTL溢出消息,记录每个路由器的ICMP的溢出消息的源IP地址,即可标识出主机和目的地之间的所有路由器。 我们要运行traceroute让它发送多种长度的数据包,由Windows提供的tracert程序不允许改变由tracert程序发送的ICMP的回复请求消息的大小,在Windows下比较好的一个是pingplotter,它可以在以下网站下载共享版本(现在已下载好存在共享文件夹的压缩包中): 安装pingplotter标准版(你有一个30天的试用期),通过对你所喜欢的站点执行一些traceroute来熟悉这个工具。ICMP回复请求消息的大小可以在pingplotter中设置:Edit-> Options->Default Setting->enginet,在packet size字段中默认包的大小是56字节。pingplotter 发送一系列TTL值渐增的包时,Trace时间间隔的值和间隔的个数在pingplotter中能够设置。 按下面步骤做: 1启动Iris,开始包捕获; 2启动pingplotter,然后在“Address to Trace”窗口输入目的地目标的名字:

高速网络环境下数据包捕获技术的分析

龙源期刊网 http://biz.doczj.com/doc/467778405.html, 高速网络环境下数据包捕获技术的分析 作者:王亚 来源:《数字技术与应用》2011年第12期 摘要:互联网的迅猛发展,网络带宽飞速增长,在高速网络环境下,传统的网络数据包捕获已经成为制约整个系统的性能提升的瓶颈,为了满足高速网络的数据包捕获的需求,对传统的网络数据包捕获存在的问题进行分析,在此基础上提出了改进措施,为后期研究高速网络下高性能的数据包捕获技术奠定基础。 关键词:高速网数据包捕获 Libpcap 中图分类号:TP393 文献标识码:A 文章编号:1007-9416(2011)12-0194-02 The Analysis of Packet Capture Technology in High Speed Network wangya (Fuyang Teachers College of computer and Information engineering Fuyang 236041) Abstract:The rapid development of the Internet and the rapid growth of network bandwidth,in high-speed network environment,the traditional network data packet capture has become the constraints of the system performance bottleneck. In order to satisfy the high speed network packet capture demand,to analysis the existing problems of the traditional network packet capture,and put forward on this foundation improvement measures.,It lays the foundation for later research of high-speed network and high performance packet capture technology. Keywords:high speed network;packet capture;Libpcap 1、引言 目前,对网络信息监控与检测的软件都是基于数据包捕获技术,如:入侵检测程序Snort、嗅探器Tcpdump等。数据包捕获技术是一种对网络上的数据包进行监听并截取的技术,可以将数据包原封不动的拷贝到捕包端的系统中。数据包捕获是入侵检测系统、网络协议

网络数据包的捕获与分析毕业设计

网络数据包的捕获与分析 【摘要】网络数据包的捕获对于网络安全有着巨大的作用,为我们更好的分析网络中的数据流提供了帮助。本论文是基于Windows下开发一个网络监听工具,侧重点在于实现网络数据包的捕获,然后分析并显示捕获到的数据包信息这部分功能的实现,如分析:IP首部协议类型、源IP、目的IP和端口号等。采用的是Winpcap(Windows Packet Capture)来实现的抓包功能。通过VC++6.0中MFC编程实现通过一个完整界面来控制调用Winpcap中的函数来实现对网卡信息的捕获和循环捕获数据包,然后通过预先对于IP、TCP、UDP等数据包的定义和TCP/IP等协议来解析其中包含的内容并返回显示捕获到数据包的信息,当然也可以保存捕获到的数据包到指定地点以便进一步分析。 【关键词】Winpcap;数据包;捕获;分析

The Capture and Analysis of Network Data Packets Wang Hang (Grade 11,Class 1, Major Network Engineering, Scho ol of Mathematics and Computer Science Dept, Shaanxi University of Technology, Hanzhong 723003, Shaanxi) Tutor: Jia Wei Abstract: The capture of network data packets plays an important part in network security, which is helpful for our better analysis of network data flow.This paper is about a network monitoring tool based on Windows system, which emphasizes particularly on realizing the capture and analysis of network data packets and then displays them. Take analysis as an example, it will check the type of the IP protocol, the source address of IP, the destination address of IP and the port http://biz.doczj.com/doc/467778405.html,e the Winpcap(Windows Packet Capture)to capture of data packets. In MFC programming of VC++6.0, the capture of network data packets can be realized via the invoking and control of the functions through a full control panel, and then the analysis of IP ,TCP,UDP and TCP/IP will be done before they are displayed. Certainly the information captured can be saved to the appointed destination in order to go through an advanced analysis. Key words:Winpcap;Data Packets;Capture;Analysis

IP及IPSEC协议数据包的捕获与分析

IP及IPSEC协议数据包的捕获与分析

IP及IPSEC协议数据包的捕获与分析 为了掌握掌握IP和IPSEC协议的工作原理及数据传输格式,熟悉网络层的协议。我进行了以下实验:首先用两台PC互ping并查看其IP报文,之后在两台PC上设置IPSEC互ping并查看其报文。最终分析两者的报文了解协议及工作原理。 一、用两台PC组建对等网: 将PC1与PC2连接并分别配置10.176.5.119和10.176.5.120的地址。如图1-1所示。 图1-1 二、两PC互ping: IP数据报结构如图1-2所示。 图1-2 我所抓获的报文如图1-3,图1-4所示:

图1-3 请求包 图1-4 回应包 分析抓获的IP报文: (1)版本:IPV4 (2)首部长度:20字节 (3)服务:当前无不同服务代码,传输忽略CE位,当前网络不拥塞

(4)报文总长度:60字节 (5)标识该字段标记当前分片为第1367分片 (6)三段标志分别指明该报文无保留、可以分段,当前报文为最后一段 (7)片偏移:指当前分片在原数据报(分片前的数据报)中相对于用户数据字段 的偏移量,即在原数据报中的相对位置。 (8)生存时间:表明当前报文还能生存64 (9)上层协议:1代表ICMP (10)首部校验和:用于检验IP报文头部在传播的过程中是否出错 (11)报文发送方IP:10.176.5.120 (12)报文接收方IP:10.176.5.119 (13)之后为所携带的ICMP协议的信息:类型0指本报文为回复应答,数据部分 则指出该报文携带了32字节的数据信息,通过抓获可看到内容为:abcdefghijklmnopqrstuvwabcdefghi 三、IPSec协议配置: 1、新建一个本地安全策略。如图1-5。 图1-5 2、添加IP安全规则。如图1-6.

数据包捕获与解析

数据包捕获与解析课程设计报告 学生姓名:董耀杰 学号:1030430330 指导教师:江珊珊

数据包捕获与分析 摘要本课程设计通过Ethereal捕捉实时网络数据包,并根据网络协议分析流程对数据包在TCP/IP各层协议中进行实际解包分析,让网络研究人员对数据包的认识上升到一个感性的层面,为网络协议分析提供技术手段。最后根据Ethereal的工作原理,用Visual C++编写一个简单的数据包捕获与分析软件。 关键词协议分析;Ethereal;数据包;Visual C++ 1引言 本课程设计通过技术手段捕获数据包并加以分析,追踪数据包在TCP/IP各层的封装过程,对于网络协议的研究具有重要的意义。Ethereal是当前较为流行的图形用户接口的抓包软件,是一个可以用来监视所有在网络上被传送的包,并分析其内容的程序。它通常被用来检查网络工作情况,或是用来发现网络程序的bugs。通过ethereal对TCP、UDP、SMTP、telnet和FTP等常用协议进行分析,非常有助于网络故障修复、分析以及软件和协议开发。,它以开源、免费、操作界面友好等优点广为世界各地网络研究人员使用为网络协议分析搭建了一个良好的研究平台。 1.1课程设计的内容 (1)掌握数据包捕获和数据包分析的相关知识; (2)掌握Ethreal软件的安装、启动,并熟悉用它进行局域网数据捕获和分析的功能; (3)设计一个简单的数据包捕获与分析软件。 1.2课程设计的要求 (1)按要求编写课程设计报告书,能正确阐述设计结果。 (2)通过课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。 (3)学会文献检索的基本方法和综合运用文献的能力。 (4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。

网络数据包的捕获与协议分析知识分享

网络数据包的捕获与 协议分析

实验报告 ( 2016 / 2017 学年第一学期) 题目:网络数据包的捕获与协议分析 专业计算机科学与技术 学生姓名张涛 班级学号 14210133 指导教师江中略 指导单位计算机系统与网络教学中心 日期 2016.10.31

实验一:网络数据包的捕获与协议分析 一、实验目的 1、掌握网络协议分析工具Wireshark的使用方法,并用它来分析一些协议; 2、截获数据包并对它们观察和分析,了解协议的运行机制。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线、局域网 四、实验步骤 1.用Wireshark观察ARP协议以及ping命令的工作过程: (1)打开windows命令行,键入“ipconfig -all”命令获得本机的MAC地址和缺省路由器的IP地址;结果如下: (2)用“arp -d”命令清空本机的缓存;结果如下 (3)开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包。

(4)执行命令:ping http://biz.doczj.com/doc/467778405.html,,观察执行后的结果并记录。 此时,Wireshark所观察到的现象是:(截图表示)

2.设计一个用Wireshark捕获HTTP实现的完整过程,并对捕获的结果进行分 析和统计。(截图加分析)

3.设计一个用Wireshark捕获ICMP实现的完整过程,并对捕获的结果进行分 析和统计。 要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析该ICMP报文。(截图加分析) 0000 6c 71 d9 3f 70 0b 78 eb 14 11 da b2 08 00 45 00 lq.?p.x. ......E. 0010 00 44 e4 9d 00 00 31 01 f7 11 6a 03 81 f3 c0 a8 .D....1. ..j..... 0020 01 6b 03 0a ab 1a 00 00 00 00 45 00 00 28 68 29 .k...... ..E..(h) 0030 40 00 73 06 f1 9c c0 a8 01 6b 6a 03 81 f3 e9 df @.s..... .kj..... 0040 01 bb e1 58 0a 8d 93 e6 e0 94 50 11 01 01 b4 cc ...X.... ..P..... 0050 00 00 ..

Ip数据包捕获设计报告

解析IP数据包程序设计与实现 学生姓名:梁帅指导老师:谢晓巍 摘要现如今,计算机网络已经彻彻底底地改变了人们的生活。大量的数据都是经过计算机网络传输的,而TCP/IP协议是计算机网络中最重要的协议之一。计算机网络中绝大多数数据都是以IP数据包的形式发送和接受的。所以IP数据包的捕获是很多计算机安全技术的基础。本课程设计实现了可以捕获流经本地网卡的IP数据包并将其头部信息解析输出的程序。 关键词TCP/IP;IP数据包;计算机网络;捕获

Design and implementation of IP data packet Student name: LIANG Shuai Advisor:XIE Xiao-wei Abstract Nowadays, computer network has completely changed people's life. A large amount of data is transmitted through computer networks, and the TCP/IP protocol is one of the most important protocols in computer networks. Most of the data in the computer network are sent and received in the form of IP data packets. So IP packet capture is the basis of many computer security technology. This course is designed to capture the IP data packet that flows through the local network card and the program to parse the output of its head. Key words TCP/IP;IP data packet;Computer network;Capture

sniffer数据包捕获

实训报告 一、sniffer的功能认知; 1. 实时网络流量监控分析 Sniffer Portable LAN能够对局域网网络流量进行实时监控和统计分析,对每个链路上的网络流量根据用户习惯,可以提供以表格或图形(条形图、饼状图和矩阵图等)方式显示的统计分析结果,内容包括: ·网络总体流量实时监控统计:如当前和平均网络利用率、总的和当前的帧数、字节数、总网络节点数和激活的网络节点数、当前和总的平均帧长等。 ·协议使用和分布统计:如协议类型、协议数量、协议的网络利用率、协议的字节数以及每种协议中各种不同类型的帧的数量等。Sniffer包含通用的TCP和UDP网络应用协议如HTTP, Telnet, SNMP, FTP等。同时,Sniffer 也具有特有的灵活性允许增加自定义的应用。一旦应用协议加入Sniffer,针对应用的所有的监控、报警和报告便自动生效;

·包尺寸分布统计:如某一帧长的帧所占百分比,某一帧长的帧数等。 ·错误信息统计:如错误的CRC校验数、发生的碰撞数、错误帧数等; ·主机流量实时监控统计:如进出每个网络节点的总字节数和数据包数、前x个最忙的网络 节点等;

话节点对等;

·Sniffer还提供历史统计分析功能,可以使用户看到网络中一段时间内的流量运行状况,帮助用户更好的进行流量分析和监控。

2.应用响应时间监控和分析 Sniffer 在监控网络流量和性能的同时,更加关注在网络应用的运行状况和性能管理,应用响应时间(ART)功能是Sniffer中重要的组成部分,不仅提供了对应用响应时间的实时监控,也提供对于应用响应时间的长期监控和分析能力。 首先ART监控功能提供了整体的应用性能响应时间,让用户以多种方式把握当前网络通讯中的各类应用响应时间的对比情况,如客户机/服务器响应时间、服务器响应时间,最 快响应时间、最慢响应时间、平均响应时间和90%的请求的响应时间等。

IP及IPSEC协议数据包的捕获与分析分析

IP及IPSEC协议数据包的捕获与分析 为了掌握掌握IP和IPSEC协议的工作原理及数据传输格式,熟悉网络层的协议。我进行了以下实验:首先用两台PC互ping并查看其IP报文,之后在两台PC上设置IPSEC互ping并查看其报文。最终分析两者的报文了解协议及工作原理。 一、用两台PC组建对等网: 将PC1与PC2连接并分别配置10.176.5.119和10.176.5.120的地址。如图1-1所示。 图1-1 二、两PC互ping: IP数据报结构如图1-2所示。 图1-2 我所抓获的报文如图1-3,图1-4所示:

图1-3 请求包 图1-4 回应包 分析抓获的IP报文: (1)版本:IPV4 (2)首部长度:20字节 (3)服务:当前无不同服务代码,传输忽略CE位,当前网络不拥塞

(4)报文总长度:60字节 (5)标识该字段标记当前分片为第1367分片 (6)三段标志分别指明该报文无保留、可以分段,当前报文为最后一段 (7)片偏移:指当前分片在原数据报(分片前的数据报)中相对于用户数据字段 的偏移量,即在原数据报中的相对位置。 (8)生存时间:表明当前报文还能生存64 (9)上层协议:1代表ICMP (10)首部校验和:用于检验IP报文头部在传播的过程中是否出错 (11)报文发送方IP:10.176.5.120 (12)报文接收方IP:10.176.5.119 (13)之后为所携带的ICMP协议的信息:类型0指本报文为回复应答,数据部分 则指出该报文携带了32字节的数据信息,通过抓获可看到内容为:abcdefghijklmnopqrstuvwabcdefghi 三、IPSec协议配置: 1、新建一个本地安全策略。如图1-5。 图1-5 2、添加IP安全规则。如图1-6.

实验1:网络数据包的捕获与协议分析

实验报告 ( 2014 / 2015 学年第二学期) 题目:网络数据包的捕获与协议分析 专业 学生姓名 班级学号 指导教师胡素君 指导单位计算机系统与网络教学中心 日期2015.5.10

实验一:网络数据包的捕获与协议分析 一、实验目的 1、掌握网络协议分析工具Wireshark的使用方法,并用它来分析一些协议; 2、截获数据包并对它们观察和分析,了解协议的运行机制。 二、实验原理和内容 1、tcp/ip协议族中网络层传输层应用层相关重要协议原理 2、网络协议分析工具Wireshark的工作原理和基本使用规则 三、实验环境以及设备 Pc机、双绞线、局域网 四、实验步骤 1.用Wireshark观察ARP协议以及ping命令的工作过程: (1)打开windows命令行,键入“ipconfig -all”命令获得本机的MAC地址和缺省路由器的IP地址;结果如下: (2)用“arp -d”命令清空本机的缓存;结果如下 (3)开始捕获所有属于ARP协议或ICMP协议的,并且源或目的MAC地址是本机的包。(4)执行命令:ping http://biz.doczj.com/doc/467778405.html,,观察执行后的结果并记录。

此时,Wireshark所观察到的现象是:(截图表示) 2.设计一个用Wireshark捕获HTTP实现的完整过程,并对捕获的结果进行分析和统计。(截 图加分析) 3.设计一个用Wireshark捕获ICMP实现的完整过程,并对捕获的结果进行分析和统计。要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析该ICMP 报文。(截图加分析) 4. 设计一个用Wireshark捕获IP数据包的过程,并对捕获的结果进行分析和统计(截图加分析) 要求:给出捕获某一数据包后的屏幕截图。以16进制形式显示其包的内容,并分析在该数据包中的内容:版本首部长度、服务类型、总长度、标识、片偏移、寿命、协议、源Ip地址、目的地址 五、实验总结

计算机网络使用网络协议分析器捕捉和分析协议数据包样本

计算机网络使用网络协议分析器捕捉和分析协议数据包样 本 计算机网络使用网络协议分析器捕捉和分析协议数据包广州大学学生实验报告开课学院及实验室:计算机科学与工程实验室11月月28日学院计算机科学与教育软件学院年级//专业//班姓名学号实验课程名称计算机网络实验成绩实验项目名称使用网络协议分析器捕捉和分析协议数据包指导老师熊伟 一、实验目的 (1)熟悉ethereal的使用 (2)验证各种协议数据包格式 (3)学会捕捉并分析各种数据包。 本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 二、实验环境1.MacBook Pro2.Mac OS3..Wireshark 三、实验内容,验证数据帧、IP数据报、TCP数据段的报文格式。 ,,分析结果各参数的意义。 器,分析跟踪的路由器IP是哪个接口的。 对协议包进行分析说明,依据不同阶段的协议出分析,画出FTP 工作过程的示意图a..地址解析ARP协议执行过程b.FTP控制连接建立过程c.FTP用户登录身份验证过程本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。

文档如有不当之处,请联系本人或网站删除。 d.FTP数据连接建立过程 e.FTP数据传输过程 f.FTP连接释放过程(包括数据连接和控制连接),回答以下问题:a..当访问某个主页时,从应用层到网络层,用到了哪些协议?b.对于用户请求的百度主页(),客户端将接收到几个应答报文??具体是哪几个??假设从是本地主机到该页面的往返时间是RTT,那么从请求该主页开始到浏览器上出现完整页面,一共经过多长时间??c.两个存放在同一个服务器中的截然不同的b Web页(例如,,和d.假定一个超链接从一个万维网文档链接到另一个万维网文档,由于万维网文档上出现了差错而使超链接指向一个无效的计算机名,这时浏览器将向用户报告什么?e.当点击一个万维网文档时,若该文档除了次有文本外,,那么需要建立几次TCP连接和个有几个UDP过程?本文档所提供的信息仅供参考之用,不能作为科学依据,请勿模仿。 文档如有不当之处,请联系本人或网站删除。 析,分析ARP攻击机制。 (选做),事实上,TCP开始发送数据时,使用了慢启动。 利察用网络监视器观察TCP的传输和确认。 在每一确认到达之后,慢启动过程中发生了什么?(选做),,TCP 必须准备重发初始段(用于打开一个连接的一个段)。 TCP应等多久才重发这一段?TCP应重发多少次才能宣布它不能打开一个连接?为找到结果尝试向一个不存在的地址打开一个连接,并使用网络监视器观察TCP的通信量。

网络数据包捕获工具的实现

本文来自中国协议分析网技术论坛,转载请注明 sniffer tcp http ospf rtp dhcp Sniffer EtherealWinpcap 其它技术返回首页当前位置: 网站首页>>协议分析>>Winpcap>> 利用WinPcap技术捕获数据包时间:2006-11-14 来源: 作者: 点击:849次收藏到: 前言随着网络入侵的不断发展,网络安全变得越来越重要,于是网络入侵取证系统的研究也变得日益重要。在网络入侵取证系统中,对网络上传送的数据包进行有效的监听即捕获包是目前取证的关键技术,只有进行高效的数据包捕获,网络管理员才能对所捕获的数据进行一系列 前言 随着网络入侵的不断发展,网络安全变得越来越重要,于是网络入侵取证系统的研究也变得日益重要。在网络入侵取证系统中,对网络上传送的数据包进行有效的监听即捕获包是目前取证的关键技术,只有进行高效的数据包捕获,网络管理员才能对所捕获的数据进行一系列的分析,从而进行可靠的网络安全管理。 1winpcap简介 WinPcap 是由伯克利分组捕获库派生而来的分组捕获库,它是在Windows 操作平台上来实现对底层包的截取过滤。WinPcap 为用户级的数据包提供了Windows 下的一个平台。WinPcap 是BPF 模型和Libpcap 函数库在Windows 平台下网络数据包捕获和网络状态分析的一种体系结构,这个体系结构是由一个核心的包过滤驱动程序,一个底层的动态连接库Packet.dll 和一个高层的独立于系统的函数库Libpcap 组成。底层的包捕获驱动程序实际为一个协议网络驱动程序,通过对NDIS 中函数的调用为Win95、Win98、WinNT、和Win2000 提供一类似于UNIX 系统下Berkeley Packet Filter 的捕获和发送原始数据包的能力。Packet.dll 是对这个BPF 驱动程序进行访问的API 接口,同时它有一套符合Libpcap 接口(UNIX 下的捕获函数库)的函数库。WinPcap的结构图如图1。 WinPcap 包括三个部分:第一个模块NPF(Netgroup Packet Filter),是一个虚拟设备驱动程序文件。它的功能是过滤数据包,并把这些数据包原封不动地传给用户态模块,这个过程中包括了一些操作系统特有的代码。第二个模块packet.dll为win32平台提供了一个公共的接口。不同版本的Windows系统都有自己的内核模块和用户层模块。Packet.dll用于解决这些不同。调用Packet.dll的程序可以运行在不同版本的Windows平台上,而无需重新编译。第三个模块Wpcap.dll是不依赖于操作系统的。它提供了更加高层、抽象的函数。 packet.dll和Wpcap.dll:packet.dll直接映射了内核的调用。Wpcap.dll提供了更加友好、功能更加强大的函数调用。WinPcap的优势提供了一套标准的抓包接口,与libpcap兼容,可使得原来许多UNIX平台下的网络分析工具快速移植过来便于开发各种网络分析工具,充分考虑了各种性能和效率的优化,包括对于NPF内核层次上的过滤器支持,支持内核态的统计模式,提供了发送数据包的能力。 2网络数据包捕获的原理 以太网(Ethernet)具有共享介质的特征,信息是以明文的形式在网络上传输,当网络适配器设置为监听模式(混杂模式,Promiscuous)时,由于采用以太网广播信道争用的方式,使得监听系统与正常通信的网络能够并联连接,并可以捕获任何一个在同一冲突域上传输的数据包。IEEE802.3 标准的以太网采用的是持续CSMA 的方式,正是由于以太网采用

计算机网络实验八 Sniffer Pro数据包捕获与协议分析汇编

惠州学院《计算机网络》实验报告 实验08 Sniffer Pro数据包捕获与协议分析 1. 实验目的 (1)了解Sniffer的工作原理。 (2)掌握SnifferPro工具软件的基本使用方法。 (3)掌握在非交换以太网环境下侦测、记录、分析数据包的方法。 2. 实验原理 数据在网络上是以很小的被称为“帧”或“包”的协议数据单元(PDU)方式传输的。以数据链路层的“帧”为例,“帧”由多个部分组成,不同的部分对应不同的信息以实现相应的功能,例如,以太网帧的前12个字节存放的是源MAC地址和目的MAC地址,这些数据告诉网络该帧的来源和去处,其余部分存放实际用户数据、高层协议的报头如TCP/IP 的报头或IPX报头等等。帧的类型与格式根据通信双方的数据链路层所使用的协议来确定,由网络驱动程序按照一定规则生成,然后通过网络接口卡发送到网络中,通过网络传送到它们的目的主机。目的主机按照同样的通信协议执行相应的接收过程。接收端机器的网络接口卡一旦捕获到这些帧,会告诉操作系统有新的帧到达,然后对其进行校验及存储等处理。 在正常情况下,网络接口卡读入一帧并进行检查,如果帧中携带的目的MAC地址和自己的物理地址一致或者是广播地址,网络接口卡通过产生一个硬件中断引起操作系统注意,然后将帧中所包含的数据传送给系统进一步处理,否则就将这个帧丢弃。 如果网络中某个网络接口卡被设置成“混杂”状态,网络中的数据帧无论是广播数据帧还是发向某一指定地址的数据帧,该网络接口卡将接收所有在网络中传输的帧,这就形成了监听。如果某一台主机被设置成这种监听(Snfffing)模式,它就成了一个Sniffer。 一般来说,以太网和无线网被监听的可能性比较高,因为它们是一个广播型的网络,当然无线网弥散在空中的无线电信号能更轻易地截获。 3. 实验环境与器材 本实验在虚拟机中安装SnifferPro4.7版本,要求虚拟机开启FTP、HTTP等服务,即虚拟机充当服务器,物理机充当工作站。 物理机通过Ping命令、FTP访问及网页访问等操作实验网络数据帧的传递。 4. 实验内容 介绍最基本的网络数据帧的捕获和解码,详细功能请参阅本教材辅助材料。 (1)Sniffer Pro 4.7的安装与启动 1)启动Sniffer Pro 4.7。在获取Sniffer Pro 4.7软件的安装包后,运行安装程序,按要求输入相关信息并输入注册码,若有汉化包请在重启计算机前进行汉化。完成后重启计算机,点击“开始”→“程序”→“Sniffer Pro”→“Sniffer”,启动“Sniffer Pro 4.7”程序。 2)选择用于Sniffer的网络接口。如果计算机有多个网络接口设备,则可通过菜单“File”→“Select Settings”,选择其中的一个来进行监测。若只有一块网卡,则不必进行此步骤。

网络数据包协议分析

网络数据包协议分析 一、实验目的 1.学习网络协议分析工具Ethereal的使用方法; 2.截获数据并对它们观察,分析其中2中协议(arp&tcp)数据包包头各数据位的含义, 了解协议的运行机制。 二、实验步骤 1.安装并打开Ethereal软件; 2.利用”运行cmd”打开命令提示符,输入“ping”确认网络连接是否完成; 3.点击capture->options选择网卡(默认有线); 4.点击capture开始抓包; 5.打开浏览器,访问一个网站,这样才可以抓到tcp的数据包; 6.点击stop停止抓包。 三、实验结果分析 1.Arp---address resolution protocol,地址解析协议的缩写,就是主机在发送帧前将目 标IP地址(32位)转换成目标MAC地址(48位)的过程。它属于链路层的协议。

ARP协议数据包包头数据位分析: 1.第一栏显示帧信息。 Frame 280 (60 bytes on wire,60 bytes capture)是指该数据包含有60个字节,ethereal软件截获了60个字节。点击打开,里面包括了到达时间、相对前一个包的时间延迟、传输时间、帧号280、包长度(60字节)和捕获到的长度(60字节)。 2.第二栏显示以太网信息。 源MAC地址是f4:6d:04:3a:62:33,目的MAC地址是ff:ff:ff:ff:ff:ff。 3.第三栏显示因特网协议信息。 它包括了硬件类型:以太网;协议类型是IP协议和发送方的IP地址与MAC地址,也包括了目的IP地址和MAC地址。 2.tcp—transition control protocol,传输控制协议的缩写。是一种面向连接(连接导向) 的、可靠的、基于字节流的传输层通信协议。

IP 数据报捕获与分析实验报告

实验报告 专业班级成绩评定______ 学号姓名教师签名______ 实验题目IP 数据报捕获与分析实验时间 一、实验目的: 1.掌握IP数据报格式。 2.理解IP协议的工作原理及工作过程。 3.掌握使用wireshark捕获IP等数据报并分析。 二、实验环境:以太网。 三、实验内容: 1.熟悉WinPcap的体系构架和提供的函数。 2.学习IP数据报校验和计算方法。 3.掌握使用wireshark捕获IP等数据报。 4.对捕获的IP数据报进行分析。 四、实验步骤: 1.在PING之前先运行wireshark熟悉页面并进行一些设置

a.单击Capture Filter过滤器:可以设置捕捉一些特殊规则 的数据报。 b.在选中Capture packets in promiscuous mode:可以设置 为混合全处理模式。 c.可以点击Start开始捕捉。过一段时间后,点击Stop停止, 观察捕捉到的数据报,并进行分析。 2.使用wireshark捕获和分析IP数据包。 a.打开wireshar并开始捕获数据包。 b.然后在系统的“开始”—“运行”—输入“CMD”命令,进 入DOS命令窗口,并输入“ping”命令测试网络的情况. c.如“ping 192.168.0.1”。 Ping 命令的使用

d.再回到wireshar点击停止后查看捕获到的数据,双击打开 “ping”后的数据包,分析数据包的内容。 分片的数据包 (以下图片全部通过wireshark捕获数据包,然后用QQ中的截图功能截取) IP协议节点

IP协议节点 上面节点说明如下: 3.进制数据包窗口 16进制数据包窗口将数据包的所有内容以16进制的形式显示出来,如下所示:

ip数据包的捕获与解析代码

// PackCaptureDlg.h:header file #define IPV4_WERSION 4 #define IPV6_WERSION 6 #define ICMP_PACKET 1 #define IGMP_PACKET 2 #define TCP_PACKET 6 #define EGP_PACKET 8 #define UDP_packet 17 #define OSPF_PACKET 89 class CPackCaptureDlg:public CDialog { public: //{{AFX_DATA(CFindHostDlg) enum {IDO=IDO_PACKCAPTURE_DIALOG}; int m_Count; CString m_Packet; //}}AFX_DATA protected: //{{AFX_MSG(CFindHostDlg) afx_msg void OnCapture(); //}}AFX_MSG private: typedef struct IP_HEAD //IP头部结构 { union { unsigned char Version; //版本(字节前四位) unsigned char HeadLen; //头部长度(字节后四位) }; unsigned char ServiceType; //服务类型 unsigned short TotalLen; //总长度 unsigned short Identifier; //标识符 union { unsigned short Flags; //标志位(字前三位) unsigned short FragOffset;

实验三 网络数据包的捕获与分析

实验三 网络数据包的捕获与分析 一、实验目的和要求 通过本次实验,了解sniffer 的基本作用,并能通过sniffer 对指定的网络行为所产生的数据包进行抓取,并分析所抓取的数据包。 二、实验内容 A :1、首先打开sniffer 软件,对所要监听的网卡进行选择 2、选择网卡按确定后,进入sniffer 工作主界面,对主界面上的操作按钮加以熟悉。 B :设置捕获条件进行抓包 基本的捕获条件有两种: 1、链路层捕获,按源MAC 和目的MAC 地址进行捕获,输入方式为十六进制连续输入,如:00E0FC123456。 2、IP 层捕获,按源IP 和目的IP 进行捕获。输入方式为点间隔方式,如:10.107.1.1。如果选择IP 层捕获条件则ARP 等报文将被过滤掉。 任意捕协议捕缓冲区基本捕获条件数据流链路层捕获获条件编辑 获编辑 编辑 链路层捕获IP 层捕获 方向 地址条件 高级捕获条件

在“Advance ”页面下,你可以编辑你的协议捕获条件,如图: 选择要捕捕获帧长错误帧是保存过滤获的协议 度条件 否捕获 规则条件 高级捕获条件编辑图 在协议选择树中你可以选择你需要捕获的协议条件,如果什么都不选,则表示忽略该条件,捕获所有协议。 在捕获帧长度条件下,你可以捕获,等于、小于、大于某个值的报文。 在错误帧是否捕获栏,你可以选择当网络上有如下错误时是否捕获。 在保存过滤规则条件按钮“Profiles ”,你可以将你当前设置的过滤规则,进行保存,在捕获主面板中,你可以选择你保存的捕获条件。 C :捕获报文的察看: Sniffer 软件提供了强大的分析能力和解码功能。如下图所示,对于捕获的报文提供了一个Expert 专家分析系统进行分析,还有解码选项及图形和表格的统计信息。 专家分析专家分析捕获报文的捕获报文的其他 系统 系统图形分析 统计信息 专家分析 专家分分析系统提供了一个只能的分析平台,对网络上的流量进行了一些分析对于分析出的

实验七 Window 7系统中IPSec协议配置及数据包分析

实验七Window 7系统中IPSec协议配置及数据包分析 一:实验目的 本实验主要验证IP通信在建立IPSec传输模式和隧道模式前后的变化,为了简化实验过程,这里只对ICMP进行加密,但在配置的过程中即可发现,其他IP协议要进行同样的加密也是非常简单的。 二:实验环境 实验中使用以下软件和硬件设备 (1)VMware workstation 15 pro(官网最新版) (2)Windows 7专业版系统和Windows 7 旗舰版系统 (3)都装好wireshark2.6.4版本 (4)一个交换机 (5)两台装有操作系统和sniffer嗅探机的vm虚拟机 为了方便称呼win7专业版系统为PC1,win7旗舰版版系统为PC2,从这里开始都以PC1,PC2来称呼代替直到实验的结束,万望注意辨别。 三:实验内容 1. 了解IPSec 2. 在Windows XP的计算机上配置IPSec VPN 原理简介: IPSec在IP层上对数据包进行高强度的安全处理,提供数据源地址验证、无连接数据完整性、数据机密性、抗重播和有限业务流机密性等安全服务。各种应用程序可以享用IP层提供的安全服务和密钥管理,而不必设计和实现自己的安全机制,因此减少了密钥协商的开销,也降低了产生安全漏洞的可能性。 四:实验步骤 一、传输模式的实现 1.启动VMware 15,建立两个Windows7系列的虚拟机。一个为win7专业 版系统虚拟机,一个为win7旗舰版系统虚拟机。 图1

图2 第一次做实验:PC1:192.168.219.130 PC2:192.168.219.131 第二次做实验:PC1:192.168.252.128 PC2:192.168.252.129 注释:本次实验是分成两次所作的,在第一次做实验的时候,因IP策略上的设置错误,导致迟迟未抓到isakmp包,因此第二次做时设置正确后就抓到了,这是本人对该实验的理解不到位所导致的,已深刻检讨。 2.新建本地安全策略 IP安全策略-1 (用作IPSec传输模式) 图3

任务三计算机网络实验IP数据报捕获与分析

任务三计算机网络实验I P数据报捕获与 分析

任务三网络编程 一、实验目的 捕获本机网卡的IP包,对捕获的IP包进行解析。要求必须输出以下字段:版本号、总长度、标志位、片偏移、协议、源地址和目的地址。 二、实验环境 平台:Windows 编程环境:VC 6.0 语言:C++ 三、实验原理 3.1 数据报格式 以太帧由一个包含三个字段的帧头开始,前两个字段包含了物理地址,各六个字节,头部的第三个字段包含了 16 位的以太帧类型,帧头后面是数据区。根据帧类型可以判断是哪种数据包,一般常用的有 0X0080(IP 数据包)、0X0806(ARP 请求/应答)和 0X8035(RARP 请求/应答)三种类型。TCP/IP 协议簇中位于网络层的协议,也是最为核心的协议。所有的 TCP, UDP, ICMP 及 IGMP 数据都以 IP 数据报格式传输。IP 协议提供了无连接的、不可靠的数据传输服务。同时IP 协议的一个重要功能是为网络上的包传递提供路由支持。TCP/IP 协议使用 IP 数据报这个名字来指代一个互联网数据包。IP 数据报由两部分组成,前面的头部和后面的数据区,头部含有描述该数据报的信息,包括源 IP 地址和目的 IP 地址等。在 IP 数据报的报头中的众多信息可根据协议类型字段区分出该数据包的类型,常用的有TCP 包、 UDP 包、 ICMP 包等,各格式分别如下所示:

IP数据报格式 TCP数据报格式 ICMP数据报格式

UDP数据报格式 3.2 捕获数据包方法 目前常用的捕获数据包的方法有原始套接字、LibPcap、WinPcap和JPcap 等方法。本次实验选用套接字方法。套接字是网络应用编程接口。应用程序可以使用它进行网络通信而不需要知道底层发生的细节。有时需要自己生成一些定制的数据包或者功能并希望绕开Socket提供的功能,原始套接字(RawSocket)满足了这样的要求。原始套接字能够生成自己的数据报文,包括报头和数据报本身的内容。通过原始套接字,可以更加自如地控制Windows下的多种协议,而且能够对网络底层的传输机制进行控制。 网络数据包截获机制一般指通过截获整个网络的所有信息流,根据信息源主机,目标主机,服务协议端口等信息,简单过滤掉不关心的数据,再将用户感兴趣的数据发送给更高层的应用程序进行分析。一般数据包的传输路径依次为网卡、设备驱动层、数据链路层、 IP 层、传输层、最后到达应用程序。IP 数据包的捕获就是将经过数据链路层的以太网帧拷贝出一个备份,传送给 IP 数据包捕获程序进行相关的处理。 IP 数据包的捕获程序一般由数据包捕获函数库和数据包分析器组成。数据包捕获函数库是一个独立于操作系统的标准捕获函数库。主要提供一组可用于查找网络接口名称、打开选定的网络接口、初始化、设置包过滤条件、编译过滤代码、捕获数据包等功能函数。对捕获程序而言,只需要调用数据包捕获函数库的这些函数就能获得所期望的 IP 数据包。这种捕获程序与数据包捕获函数库分离的机制,使得编写的程序具有很好的可移植性。IP 数据包捕获程序的核心部分就是数据包分析器。数据包分析器应具有识别和理解各种协议格式

相关主题