




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、数据包捕获与分析摘要 本课程设计通过Ethereal 捕捉实时网络数据包,并根据网络协议分析流程对数据包在 TCP/IP 各层协议中进行实际解包分析,让网络研究人员对数据包的认识上升到一个感性的层面,为网络协议分析提供技术手段。最后根据Ethereal的工作原理,用VisualC 编写一个简单的数据包捕获与分析软件。关键词协议分析;Ethereal;数据包;Visual C + +1 引言本课程设计通过技术手段捕获数据包并加以分析,追踪数据包在TCP/IP 各层的封装过程,对于网络协议的研究具有重要的意义。Ethereal 是当前较为流行的图形用户接口的抓包软件,是一个可以用来监视所有在网络上
2、被传送的包,并分析其内容的程序。它通常被用来检查网络工作情况,或是用来发现网络程序的 bugs。通过ethereal对TCP、UDP、 SMTP、 telnet 和 FTP 等常用协议进行分析,非常有助于网络故障修复、分析以及软件和协议开发。,它以开源、免费、操作界面友好等优点广为世界各地网络研究人员使用为网络协议分析搭建了一个良好的研究平台。课程设计的内容(1)掌握数据包捕获和数据包分析的相关知识;掌握Ethreal软件的安装、启动,并熟悉用它进行局域网数据捕获和分析的功能;(3)设计一个简单的数据包捕获与分析软件。课程设计的要求(1)按要求编写课程设计报告书,能正确阐述设计结果。(2)通过
3、课程设计培养学生严谨的科学态度,认真的工作作风和团队协作精神。(3)学会文献检索的基本方法和综合运用文献的能力。(4)在老师的指导下,要求每个学生独立完成课程设计的全部内容。课程设计平台Windows XP; Ethereal; Visual C 2 使用 Ethereal 对数据包进行捕获与分析软件 Ethereal 简介Ethereal (Ethereal: A Network Packet Sniffing Tool) 是当前较为流行的一种计算机网络调试和嗅探。Ethereal 基本类似于,但Ethereal 还具有设计完美的和众多分类信息及过滤选项。用户通过 Ethereal,同时将插
4、入混合模式,可以查看到网络中发送的所有通信流量。Ethereal 应用于故障修复、分析、软件和协议开发以及教育领域。它具有用户对协议分析器所期望的所有标准特征,并具有其它同类产品所不具备的有关特征。 Ethereal 主要具有以下特征:在实时时间内,从网络连接处捕获数据,或者从被捕获文件处读取数据;Ethereal 可以读取从tcpdump( libpcap ) 、 网络通用嗅探器(被压缩和未被压缩)、SnifferTM 专业版、NetXrayTM 、 Sun snoop 和atmsnoop、 Shomiti/Finisar 测试员、的 iptrace 、 的网络监控器、的LANalyzer
5、、 RADCOM 的 WAN/LAN 分析器、ISDN4BSD 项目的 HP-UX nettl 和 i4btrace、 Cisco 安全 IDS iplog 和 pppd 日 志( pppdump 格式)、WildPacket 的 EtherPeek/TokenPeek/AiroPeek 或者可视网络的可视UpTime 处捕获的文件。此外Ethereal 也能从 Lucent/Ascend WAN路由器和Toshiba ISDN 路由器中读取跟踪报告,还能从的 TCPIP 读取输出文本和 DBS Etherwatch 。从、上的和回路接口(至少是某些系统,不是所有系统都支持这些类型)上读取实时
6、数据。通过 或 模式 tethereal 程序,可以访问被捕获的网络数据。通过editcap 程序的命令行交换机,有计划地编辑或修改被捕获文件。当前 602 协议可被分割。输出文件可以被保存或打印为纯文本或PostScript 格式。 通过显示过滤器精确显示数据。显示过滤器也可以选择性地用于高亮区和颜色包摘要信息。所有或部分被捕获的网络跟踪报告都会保存到磁盘中1。利用 Ethereal 捕获数据包安装完Ethereal后,单击Capture下的Option菜单,打开捕获选项对话框,设置好 捕捉接口( inteface) 和过滤器(capture filter), 设置混杂模式(promiscu
7、ous mod* 选项 (此选项使得网卡并不检验数据帧的目的地址,用以截获网上的任何帧),其他选项可采用默认设置如图2-1,再单击Start按钮即可实时截获数据包。用Ethereal的捕获窗口如图2-2,捕获到的实时网络数据包的部分截图见图2-3。所截获的数据包分别在包列表(PackList)、包细节(Packet Details和包字节(PackeBytes尸栏窗口中显示。其中上栏的包列表窗口按截获的时间顺序显示出数据包的基本信息:编号(代表收到数据包的次序) 、时间、源地址、目的地址协议名称以及关于此数据包的摘要信息;中间栏的包细节窗口以树形显示当前数据包在各协议层的封装细节,包括首部和数
8、据;下栏的包字节窗口则以十六进制和ASCII 码显示被截获数据包的详细内容左边一栏显示偏移量,中间一栏显示十六进制数值,右边一栏显示解码后相对应的字符(控制字符示为1 个点) 。图 2-1Ethereal 的设置图 2-2 捕获状态窗口图 2-3 捕获的数据包利用 Ethereal 对捕获数据包进行分析Ethereal是当前较为流行的一种计算机网络调试和数据包嗅探软件,是一个可以用来监视所有在网络上被传送的包,并分析其内容的程序。它通常被用来检查网络工作情况,或是用来发现网络程序的 bug"通过ethereal对TCP、UDP、SMTP、telnet和FTP等常 用协议进行分析,非常
9、有助于网络故障修复、分析以及软件和协议开发。( 1) ARP 协议分析ARP, 全称 Address Resolution Protocol, 地址解析协1 它工作在数据链路层,在本层和硬件接口联系,同时对上压供服务。TP 数据包常通过以太网发送,以太网设备并不识别321P地址,它们是以48位以太网地址传输以太网数据包。 必须把IP目的地址转换成以太网目的地址。因此,在以太网中,一个主机要和另一个主机进行直接通信,必须要知道目标主机的MAC 地址。但这个目标MAC 地址是如何获得的呢它就是通过地址解析协议获得的。图2-4 就是对 ARP 捕获的状态窗口。ARP 协议用于将网络中的IP 地址解析
10、为的硬件地址(MAC 地址 ),以保证通信的顺利进行。网络当中经常会使用到ARP协议,所以可以使用Ethereal抓取网络中的ARP数据包,如图2-5,从图2-5中看到, 已经捕获到了一些ARP 的数据包, 每个数据包占一行, 比如第 1 个 ARP 数据包,从它的 info 信息里面可以看到对于这个数据包的简要的说明 :Who has .140 Tell .250。这个 info 表明 ARP 协议的主要功能:通过 IP 地址找对方的MAC 地址。针对ARP 协议还可以具体分析它的结构,以往的教学中学生只能从课本上看到ARP 协议的图,如图6,学生容易产生疑问,难道真的是这样吗在我们可以通过
11、分析抓取到的数据包来切切实实地看一下它的结构到底是什.么样的,对照图2-6 看一下到底是不是一致。随便找一个ARP 的数据包,将其展开可以看到图 2-7 的结构,对比图2-7 中框部分与图2-6 中框部分,可以发现两者是一致的,通过对比学生就会对ARP 的结构有更深刻的认识2。图 2-4ARP 捕获状态窗口图 2-5 捕获的 ARP 数据包图 2-6ARP 报文结构2-7ARP 结构(2)利用Ethereal分析TCP/IP机制TCP 是一种面向连接的、可靠的传输层协议,TCP 数据传(只有连接建立后才可进行数据传输)需要通过在客户端和服端建立特定的虚电路连接来完成,该过程通常被称为“三次握手
12、 ”, 如图2-8,即发送方先发送连接请求,然后接受方进行连接确认,最发送方对接受方再次进确认。下面就以Ethereal捕获的建TCP连接过程的三个数据包为例对TCP/IP 协议进行分析。图 2-8 三次握手示意图为了能够捕获到 三次握手”过程中的数据包,首先让Ethereal一直保持捕获状态(图 2-9),因为是通过TCP来建立的,可以将Ethereal的过滤器设置为TCP,此时只捕获所 有经过计算机的TCP 协议数据包。图 2-9TCP 捕获状态窗口图 2-10 TCP 捕获状态窗口在捕获状态窗口中点击停止,将所有捕获到的数抿所显示出图2-11 显示的就是所捕到的前4 个数据包,从图中可以
13、看到1 号数据包一3 号数据包是连接建立过程中的数据包, 4 号数据包是在连接建立完成以后开始传输数据。图 2-11 捕获到的数据包客户端发送连接请求,从图2-12 可以看出,该数据包封装了三个头信息:以太网(Eth-ernet)帧、IP数据报(IP数据报首部格式如图2-12)和TCP报文段(TCP报文段固定首部格式如图2-13)。在物理链路层,数据以帧的方式进行传输。以太网帧头信息中,描述了该数据包的接收方 MAC (MAC的结构如图2-14)地址为00:03:0f:00:0c:4b发起连 接请求的源主机MAC为00:03:0d:a4:0f:72,在帧中封装白协议类型type值为0x0800
14、,即IP 数据报。在网络层,加工的主要数据对象是IP 数据报。 IP 协议是 TCPIP 协议族中的核心协议之一,所有的TCP、 UDP、 ICMP 数据都以IP 数据报格式传输。从以上请求数据包的IP首部可以看出,止匕IP数据报版本号(version)为4(即这个数据报为IPv4),首部(head length)为20bytes服务类型(services巾eld)为0x00,数据报总长(total length,即IP首部+数据 载荷)为48,标识(identfication)为0x96b53标志(flags)为0x04表示报文不分段,段偏移 (fragmen offset)为0,生存时间(
15、time to live)为128,数据报中上层协议类型 protocol值为 0x06 (即TCP报文段),头部校验和0x1206表示正确,请求主机的IP地址为26, 目的主机的IP地址为。在运输层,主要数据对象是TCP报文。在以上的TCP报文段中, 描述了请求方源端口号(source port)为1615;目的端口号(destination port)为80,其中0是HTTP协议的保留端口号廿列号SEQ是本次连接的初始序号,因此在连接请求时相对初 始值是0,其实际值是24 68 15 al确认号是00 00 00 70;头部长度(header length) 28byt
16、es; 标志位(flags)为Ox0002,指示ACK标志为0表明确认号被忽略,SYN=1表示正在进行连 接请求,通过 SYN 和 ACK 也可以用来区分 Connection Request和 Connection Accepted, 在连接请求中,SYN=1 、 ACK=0, 连接响应时,SYN=1 、 ACK=1;PSH 为 0;窗口字段(windowsize才旨示发送方想要接收的最大字节数为65535校马和(checksum)为0xf6a表明正确;最后是8bytes的选项字段3。比特 04816192431图 2-12 IP 数据报首部格式比特 08162431图 2-13 TCP 报
17、文段固定首部格式字节 66246-1054图 2-14以太网 V2 MAC 帧格式图 2-15 发送方发出的连接请求数据包对此数据包的具体分析过程如图2-12,在此我们仅涉及连接的过程中一些重要地方的变化:数据包由服务端发至客户端.226。在响应TCP 报文段中,源端口和目的端口地址相对改变,相应数据包的起始序列号SEQ为ef 84 c8 9b确认号为24 68 17 a2仪际上是请求数据的起始序号加1,也表示下一个希望接收的数据的起始位置),标志位 0x0010 指示ACK 标志为 1 表明确认号有效、SYN 仍然为1。图 2-16 服务端响应数据包客户端连接确认在TCP 连接建立的最后阶段
18、如图2-17,客户端对接受到的服务器相应进行确认,到此为止建立完整的TCP 连接,开始全双工模式的数据传输过程。图 2-17客户端确认数据包在确认阶段,数据包由客户端.226发送至服务端,TCP中的序列号为24 68 15 a2(即上次服务器响应报文的确认号),报文段中的本次确认号为73 ff 17 ff(即上次的序 列号加 1)表示客户端下一次希望从主机接收的数据的起始位置;标志位Ox0010 指示ACK 标志为 1 表明确认号有效,SYN 置为 0表示连接建立结束。通过上述利用Ethereal对 TCP 连接过程的三个数据包的分析,可以看出TCP/IP 协议的 Three-way hand
19、shaking过程如下:第一步,客户端发出连接请求,TCP数据为:SEQ=24 68 15 a2,ACKNUM=00 00 00 00,SYN=1,ACK=0 。 第 二 步 ,服 务 端 确 认 可 以 连 接 ,TCP 数 据 为 :SEQ=ef 84 c8 9b,ACKNUM=24 68 15 a2,SYN=1,ACK=1 。 第三步,客户端建立连接,TCP 数据为 :SEQ=2468 15 a2,ACKNUM=ef 84 c8 9b,SYN=0,ACK=1 。 TCP/IP 协议是一个协议族,包含大小上百个协议和标准。通过以上对TCP 连接过程的分析,只是提出了使用Ethereal 进
20、行协议分析的思路和方法,使用 Ethereal 也可方便地对其它协议进行分析,例如分析HTTP 协议的客户端请求与服务器应答过程及它们的头部格式,分析 ICMP 协议的错误报告和信息反馈机制等,具体分析方法与上面的分析相似,这里不再赘述4。图 2-17 客户端确认数据包3 用 Visual C 设计一个简单的数据包捕获和分析软件Visual C+ 简介Visual C+ +即VC,微软公司出品的高级可视化计算机程序开发工具。他提供了一套开发环境:Visual Studio , Visual Studio 本身包括一个文本编辑器、资源编辑器、工程编译工具、一个增量连接器、源代码浏览器、集成调试工
21、具,以及一套联机文档,借助这套工具,用户可以随心所欲地开发出各种功能的应用软件以及借助OpenGL 和 DirectX 技术开发游戏软件。Visual C+ 可以识别C/C+ 并编译, 支持 MFC 类库, 并提供了一系列模板,常用的 MFC AppWizard(EXE/DLL),MFCActiveXControlWizard,Win32Application,Win32ConsoleApplication,ATLCOMAppWi zard。这种可视化编程环境可以令程序员花更多精力在程序功能的实现上,而不是 底层的建设上,这就大大加快了程序开发速度和效率,这也是 Visual C+ 一个显着的
22、特点。利用Visual C+ 编译出的程序空间小,运行快,比其他的编译工具编译出的软件占据较多优势。现在常用的版本有Visual C+ .Net/2005 5。简介WinPcap是一个在 Windows操作系统下的免费、公开的用于直接访问网络的开发工 具包(编程API)。大多数 Windows网络应用程序都是通过 Winsock API (Windows套接 口)这类高级编程接口访问网络的。这种方法允许在网络上进行简单的数据传送,因为操作系统的TCP/IP 协议栈实现软件会处理底层细节(协议操作、流程重组等等),并提供一个类似于读写文件的函数接口。然而,有时候“简便方法 ”并不能满足实际需要。
23、有些程序希望绕过TCP/IP 协议栈,直接处理底层网络中的通信数据,它们需要对网络进行底层进行直接访问,即在没有类似协议栈( TCP/IP 协议栈) 的实体介入条件下对网络进行原始访问。基于Winsock API 编程,应用程序是通过调用操作系统提供的编程接口访问 TCP/IP 协议栈实现网络通信的。基于WinPcap 编程,网络程序实际上是绕开操作系统的 TCP/IP 协议栈直接通过底层网络发送数据,因此网络程序可以实现一些更低级、更灵活的功能6。建立工程在VC+下创建一个单文档的 MFC应用程序,工程名:Sniffer如图3-1->图3-2-> 图 3-3。图3-1建立工程图3
24、-2选中单文档图3-3自动生成的类列表到下载p 4.0.2,然后解压,解压缩就可以看见Includelib;在"Project->Settings"fe签 栏中选择"C/C+",在"Preprocessor definitions"的输入框里添加"WPCAP";再选择"Link", 在"Object/library modules"的输入框里添加 ""。然后再设置 VC+环境变量:选择 Tools->options->Directorie
25、s 的 include 里面力口入下载的 winpcap开发包解压以后的 include 文件选择Tools->options->Directories的lib里面加入下载的winpcap开发包解压以后的 lib文件夹7。进行界面的设计工程建好了,下面进行界面的设计:首先,对菜单栏进行修改,去掉原来单文档所自带的文件”、编辑”菜单选项,保留 查看”和 帮助”,新建 文件”,下面有 开始抓包(ID_FILE_START) ”、停止抓包 (ID_FILE_STOP) ”、退出(ID_APP_EXIT ) ”三个菜单选项。再建 适配器”菜单,下 面有 选择适配器(ID_ADP_CHOOS
26、E) ”选项,并对每个新建的选项进行注释说明。如 图 3-4:图3-4菜单栏然后,打开文件,对工具栏进行修改。自做了一个工具栏图片来代替原来工程的, 然后将多余的复制粘贴等工具按钮信息删除掉,回到界面处,再对每个按钮图标进行ID 设置。如图:叵0L割JtlO ,从左向右依次是:开始抓包、停止抓包、选择适配 器、帮助图标按钮。最后,新建一个选择适配器的基本对话框,ID标识为IDD_ADP_DIALOG ,双击此 对话框新建一个类:CAdpterDlg。在此基本对话框上拖入一个 Tree Contrl控件和List Contrl控件,对控件属性界面进行调整,打开类向导,将 Tree Contrl成
27、员变量设置为: m_treeCtrl, List Contrl 成员变量设置为 m_listCtrl。如图 3-5:图3-5选择适配器对话框程序设计思想本程序中,主要有四种类型的类,主控类: CMainFrame视图类:CCapPackView CProTreeView,对话框类:CAdpterDlg以及报文类。图3-6为整体的类之间的调用流程 图。图3-6总体类调用流程图CMainFrame,是用于主控的类,它起到分区、处理消息、传递消息的功能。将用 户区分为两个视图,点击菜单里的按钮,触发打开适配器对话框或者开始抓包、停止抓 包的动作。图3-7为CMainFrame类中方法调用流程图。表
28、3-1 CMainFrame类说明为 CMainFrame函数成员的说明。表 3-1 CMainFrame 类说明CMainFrame 类父类CFrameWnd 类成员函数参数功能OnCreateClient()LPCREATESTRUCTlpcs, CCreateContext* pContext将用户区分为左右两个视图ProTreeView、CapPackViewOnAdpChoose()消息处理函数无为适配器对话框初始化值,即点击 选中适配器按钮弹出适配器对话框OnFileStart()消息处理函数无设置抓包状态,释放所有包,清空 内容,启动收包线程,开始捕状包。OnFileStop()
29、消息处理函数无停止抓包OnUpdateFileStart()消息处理函数CCmdUI* pCmdUI当在才甫获包时,禁用 抓包”按钮OnUpdateFileStop()消息处理函数CCmdUI* pCmdUI当停止捕获包时,禁用停止”按钮成员变量含义*PackViewCCapPackView显示所有抓到的包的简要信息*ProTreeViewCProTreeView显示选中的包的具体信息,用解析树表达*alldevspcap_if_t适配器链表*devpcap_if_t适配器链表isStartbool是含开始抓包isStopbool是否停止抓包图3-7 CMainFrame类中方法调用流程图CA
30、dpterDlg:对话框类,此对话框分为两部分:树形控件和list控件。当对话框被触发后,树形控件显示了本机所有的适配器列表,双击选中网卡,list控件显示其名称、描述、子网掩码、IP地址等信息。点击确定按钮即绑定了此网卡,注意虚拟网卡是不能 被绑定的。表3-2为类CAdpterDlg的成员函数及成员变量的说明。CAdpterDlg类中函数调用流程图如图3-8所示。表 3-2 CAdpterDlg 类说明CAdpterDlg 类父类CDialog 类成员函数参数功能OnInitDialog()公有无初始化树形控件,设置list控件, 读取适配器并将适配器列表显示 在树形控件中。当网卡绑定以后再
31、 次打开此对话框,直接显示其信 息。续表3-2:OnClickAdpTree()消息处理函数NMHDR*pNMHDR,LRESULT* pResult当双击选中网卡时,找到选中的 网卡,设置list控件,并显示网 卡名称、描述等信息。OnOK()消息处理函数无对选中的网卡进行判断,不可以选虚拟网卡也不RJ不选。OnCancel()消息处理函数无关闭对话框成员变量含义*devpcap_if_t适配器链表*alldevspcap_if_t适配器链表errbufPCAP_ERRBUF_SIZEchar存储错误信息的字符串图3-8 CAdpterDlg类中函数调用流程图CCapPackView,视图类
32、,主要功能是实现接收从类MainFrm传递过来的消息和报文,将数据包的头部及数据包的数据内容分别保存在CArray数组中,然后调用报文类IPGram、ARPGram、RARPGram中的函数,将数据包简要信息显示于界面。表 3-3为 CCapPackView的成员函数及成员变量的说明。图 3-9为其类中方法调用流程图。表 3-3 CCapPackView 类说明CCapPackView 类父类CListView 类成员函数参数功能OnInitialUpdate()公有无设置CapPackView视图的视图风 格,设置具列信息。OnPacketReceive()消息处理函数pcap_pkthdr
33、*pkt_header,constu_char*pkt_data显示所有抓到的包的简要信息OnItemchanged()消息处理函数NMHDR* pNMHDR,LRESULT* pResult当点击列表中某行信息,将向 ProTreeView发送消息,并传递报文 信息。成员变量含义indexint序号totalmemint收到的报文占用总字节数timeint流逝的秒数deltaint一秒内收到的字节数图3-9 CCapPackView类中函数调用流程图CProTreeView,视图类,主要功能是接收来自于 CapPackView的消息,调用消息处 理函数OnPacketSelect()在显示数
34、据前清空列表及捕获的数据包。对传递过来的报文头 部和内容进行分析,调用报文类IPGram、ARPGram、RARPGram中的函数将具体信息显示于树形列表中。表3-4为CProTreeView的成员函数及成员变量的说明表 3-4 CProTreeView 类说明CProTreeView 类父类CTreeView 类成员函数参数功能OnInitialUpdate()无设置 ProTreeView视图的视图风格,解析树。OnPacketSelect()消息处理函数pcap_pkthdr*pkt_header,constu_char*pkt_data(报文头部和内容指 针)以树形结构显示选中的包的具
35、体 信息。OnClick()NMHDR* pNMHDR,LRESULT* pResult无成员变量含义*ipIPGram指向IP报文的指针*etherEtherHead指向以太帧的指针*arpint指向ARP报文的指针*rarpint指向RARP报文的指针程序设计对菜单中的按钮项分别建立类向导、增加函数,如选择适配器”的消息映射关系为ON_COMMAND(ID_ADP_CHOOSE, OnAdpChoose),开始抓包”的消息映射关系为 ON_COMMAND(ID_FILE_START, OnFileStart);彳亭止抓包”的消息映射关系为 ON_COMMAND(ID_FILE_STOP,
36、OnFileStop)以及菜单项是否禁用的菜单项的状态的响 应消息映射关系。这些都是在 CMainFrame类里面定义或声明的,CMainFrame作为一 个主控类,当操作时,其调用其他的对话框类、视图类,然后再调用报文类。网卡的绑定,为ID_ADP_CHOOSE选择适配器建立类向导,新建函数: OnAdpChoose(),打开适配器对话框,并对网卡链表进行传递。具体代码如下:void CMainFrame:OnAdpChoose() CAdpterDlg adp;26)进行数据包捕获的按钮,导致一直没有捕获到任何的数据包(如图4-1)。这是当然的,因为没有选择针对那个IP进行捕获,根本没有源
37、IP,当然没有数据包,这使我的设计刚开始就频频出错。后来查阅资料时,发了这一个错误,改正后立即可以捕获数据包。所发生的错误如图4-2。图 4-1 数据包捕获窗口图 4-2 出现的提示错误信息5 结束语经过两周的课程设计,刚开始时还认为两周时间还是很长,有足够的时间完成这个设计,想不到一眨眼间,两周的时间就这样匆匆过去了。现在感觉到时间过得真快,从一开始对Ethereal这个抓包软件没有任何基础的,现在已能对这个软件所捕获的数据包进行简单的分析,以及怎么样设置这个软件的参数。在用 Visual C 编程的这一步中,实在花了我的不少时间,这个我认为是在我这个设计中最难的一步,虽然在网上能找到相关程
38、序,但所找到的那些程序都基本上有一两处错误,而对于我这个只有一点Visual C 基础的来说无疑是一个天大的麻烦。但是,经过这两周的努力,还是能改正了这些错误,而且在同学的帮助下,终于把这个程序给做出来了。经过这一次的设计,这对以后的工作需要提供了很大的帮助。最后,我得感谢一下在这次课程设计中帮助过我的同学,还有在设计过程中给老师带来了诸多麻烦,很感谢您这么细心的为我讲导。我想,如果这次课程我不可能按时完成。这是我的第一次课程设计,其中许多不足,还请老师给与批平、指正。参考文献12Craig Zacker. TCP/IP 网络管理.北京:中国水利水电出版社,3谢希仁.计算机网络.北京:电子工业
39、出版社,4黄筱燕.基于Ethereal的网络协议分析.热带农业工程第33卷第1期567周霭如、林伟健.C+程序设计基础.北京:电子工业出版社,8张青.C#®程思想与实践.北京:冶金工业出版社,附录:1 网卡的绑定void CMainFrame:OnAdpChoose()CAdpterDlg adp;/为适配器对话框初始化值=this;=this->alldevs;=this->dev;if()=IDOK)/ 将适配器信息返回this->alldevs=;this->dev=;2 报文类IPGram: IP 报文class IPGramint version; /IP 版本int IHL; /IP 报文头长,包含多少个32位int servicetype; /服务类型int precedence; /优先级bool delay; /延迟bool throughtput;/吞吐量bool reliability; /可靠性unsigned int totallen; /IP 报文总长bool DF;/是否分段,为1 表示没有分段bool MF;/是否有进一步分段,为1 表示有int fragoffset;/偏移量int TTL; /生命期time to liveint protocol; /协议:TCP,UDP, ICMP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 学习招投标及合同管理心得体会
- 烟台汽车工程职业学院《出镜报道与节目主持》2023-2024学年第二学期期末试卷
- 秘书与外部合作伙伴的工作计划
- 学校艺术社团的运作与发展计划
- 科研项目的进展汇报与分析计划
- 秋季学期教学艺术与实践计划
- 如何提高管理工作的透明度与效率计划
- 七年级英语上册教学设计人教新目标版
- 客户服务中的沟通技巧总结计划
- 2025年内蒙古货运从业资格证网上考试
- 2025年重庆市中考物理模拟试卷(一)(含解析)
- 《服务营销双主动》课件
- 公司法公章管理制度
- 演出经纪人员资格备考资料2025
- 希尔顿管理制度
- 成都交通投资集团有限公司招聘考试真题2024
- (二模)嘉兴市2025年高三教学测试语文试卷(含答案)
- 湖北省宜昌二中2025年高考化学考前最后一卷预测卷含解析
- 医院不良事件上报制度
- MTK安全架构研究-全面剖析
- 餐饮食堂消防安全培训
评论
0/150
提交评论