计算机网络实验指导书.doc_第1页
计算机网络实验指导书.doc_第2页
计算机网络实验指导书.doc_第3页
计算机网络实验指导书.doc_第4页
计算机网络实验指导书.doc_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

计算机网络实验指导书湖南工业大学计算机与通信学院网络工程系目 录实验一 802.3协议分析和以太网3一、实验目的3二、预备知识3三、实验环境5四、实验步骤5五、实验报告内容6实验二IP层协议分析8一、实验目的8二、实验环境8三、实验步骤8四、实验报告内容9实验三TCP协议分析10一、实验目的及任务10二、实验环境10三、实验步骤10四、实验报告内容11实验四HTTP和DNS分析12一、实验目的及任务12二、实验环境12三、实验步骤12四、实验报告内容13实验五 客户/服务器模式下的数据传输15一、实验目的15二、实验内容15三、实验环境15四、实验步骤16五、实验报告内容16附录:22一、认识WireShark22二、SOCKET编程251、SOCKET规范概述252、WINDOWS环境下SOCKET基本函数263、RAW模式的SOCKET编程31实验一 802.3协议分析和以太网一、 实验目的1. 分析802.3协议2. 熟悉以太网帧的格式3. 熟悉ARP报文的格式二、 预备知识 要深入理解网络协议,需要仔细观察协议实体之间交换的报文序列。为探究协议操作细节,可使协议实体执行某些动作,观察这些动作及其影响。这些任务可以在仿真环境下或在如因特网这样的真实网络环境中完成。观察在正在运行协议实体间交换报文的基本工具被称为分组嗅探器(packet sniffer)。顾名思义,一个分组嗅探器捕获(嗅探)计算机发送和接收的报文。一般情况下,分组嗅探器将存储和显示出被捕获报文的各协议头部字段内容。图1为一个分组嗅探器的结构。 图1右边是计算机上正常运行的协议(在这里是因特网协议)和应用程序(如:web浏览器和ftp客户端)。分组嗅探器(虚线框中的部分)是附加计算机普通软件上的,主要有两部分组成。分组捕获库接收计算机发送和接收的每一个链路层帧的拷贝。高层协议(如:HTTP、FTP、TCP、UDP、DNS、IP等)交换的报文都被封装在链路层帧(Frame)中,并沿着物理介质(如以太网的电缆)传输。图1假设所使用的物理媒体是以太网,上层协议的报文最终封装在以太网帧中。 分组嗅探器的第二个组成部分是分析器。分析器用来显示协议报文所有字段的内容。为此,分析器必须能够理解协议所交换的所有报文的结构。例如:我们要显示图1中HTTP协议所交换的报文的各个字段。分组分析器理解以太网帧格式,能够识别包含在帧中的IP数据报。分组分析器也要理解IP数据报的格式,并能从IP数据报中提取出TCP报文段。然后,它需要理解TCP报文段,并能够从中提取出HTTP消息。最后,它需要理解HTTP消息。 WireShark是一种可以运行在Windows, UNIX, Linux等操作系统上的分组分析器.用户界面如图2所示。最初,各窗口中并无数据显示。WireShark的界面主要有五个组成部分:图2 WireShark的用户界面命令菜单(command menus):命令菜单位于窗口的最顶部,是标准的下拉式菜单。最常用菜单命令有两个:File、Capture。File菜单允许你保存捕获的分组数据或打开一个已被保存的捕获分组数据文件或退出WireShark程序。Capture菜单允许你开始捕获分组。捕获分组列表(listing of captured packets):按行显示已被捕获的分组内容,其中包括:WireShark赋予的分组序号、捕获时间、分组的源地址和目的地址、协议类型、分组中所包含的协议说明信息。单击某一列的列名,可以使分组按指定列进行排序。在该列表中,所显示的协议类型是发送或接收分组的最高层协议的类型。 分组头部明细(details of selected packet header):显示捕获分组列表窗口中被选中分组的头部详细信息。包括:与以太网帧有关的信息,与包含在该分组中的IP数据报有关的信息。单击以太网帧或IP数据报所在行左边的向右或向下的箭头可以展开或最小化相关信息。另外,如果利用TCP或UDP承载分组,WireShark也会显示TCP或UDP协议头部信息。最后,分组最高层协议的头部字段也会显示在此窗口中。 分组内容窗口(packet content):以ASCII码和十六进制两种格式显示被捕获帧的完整内容。 显示筛选规则(display filter specification):在该字段中,可以填写协议的名称或其他信息,根据此内容可以对分组列表窗口中的分组进行过滤。三、 实验环境与因特网连接的计算机网络系统;主机操作系统为windows; WireShark、IE等软件。四、 实验步骤1. WireShark的使用及捕获并分析以太帧(1) 清空浏览器缓存(在IE窗口中,选择“工具/Internet选项/删除文件”命令)。(2) 启动WireShark,开始分组捕获。(3) 启动主机上的web浏览器。(4) 启动WireShark。窗口中没有任何分组列表。(5) 开始分组捕获:选择“capture”下拉菜单中的“Optios”命令,会出现如图1所示的“WireShark: Capture Options”窗口,可以设置分组捕获的选项。 图1 WireShark的Capture Option(6) 在实验中,可以使用窗口中显示的默认值。在“WireShark: Capture Options”窗口的最上面有一个“interface”下拉菜单,其中显示计算机中所安装的网络接口(即网卡)。当计算机具有多个活动网卡(装有多块网卡,并且均正常工作)时,需要选择其中一个用来发送或接收分组的网络接口(如某个有线接口)。(7) 随后,单击“Start”开始进行分组捕获,所有由选定网卡发送和接收的分组都将被捕获。(8) 开始分组捕获后,会出现分组捕获统计窗口。该窗口统计显示各类已捕获分组的数量。在该窗口中有一个“stop”按钮,可以停止分组的捕获。(9) 在运行分组捕获的同时,在浏览器地址栏中输入某网页的URL,如:。为显示该网页,浏览器需要连接的服务器,并与之交换HTTP消息,以下载该网页。包含这些HTTP消息的以太网帧(Frame)将被WireShark捕获。 WireShark主窗口显示已捕获的你的计算机与其他网络实体交换的所有协议报文,其中一部分就是与服务器交换的HTTP消息。(10) 在显示筛选编辑框中输入“http”,单击“apply”,分组列表窗口将只显示HTTP消息。(11) 选择分组列表窗口中的第一条HTTP消息。它应该是你的计算机发向服务器的HTTP GET(HTTP定义的用于获取/查询资源信息的方法)消息。(12) 选择“Analyze-Enabled Protocols”,取消对IP复选框的选择,单击OK。当你选择该消息后,以太网帧、IP数据报、TCP报文段、以及HTTP消息首部信息都将显示在分组首部子窗口中。单击分组首部详细信息子窗口中向右和向下箭头,可以最小化帧、以太网、IP、TCP信息显示量,可以最大化HTTP协议相关信息的显示量。(13) 选择包含HTTP GET消息的以太网帧,在分组详细信息窗口中,展开Ethernet II部分。根据操作,回答“五、实验报告内容”中的1-4题(14) 选择包含HTTP 响应消息第一个字节的以太网帧,根据操作,回答“五、实验报告内容”中的5-8题2. ARP(1) 利用MS-DOS命令:arp -a查看主机上ARP缓存的内容。根据操作,回答“四、实验报告内容”中的9题。(2) 利用MS-DOS命令:arp -d * 以清除主机中ARP缓存的内容。(3) 清除浏览器缓存。(4) 启动WireShark,开始分组捕获。(5) 在浏览器的地址栏中输入: 浏览器将显示百度搜索网页。(6) 停止分组捕获。选择“Analyze-Enabled Protocols”,取消对IP复选框的选择,单击OK。根据操作,回答“五、实验报告内容”中的10-13题。五、 实验报告内容 在实验的基础上,回答以下问题:1. 你的主机的48位以太网地址(MAC地址)是多少?2. 目标MAC地址是服务器的MAC地址吗?如果不是,该地址是什么设备的MAC地址?3. 给出Frame头部Type字段(2字节)的十六进制值。4. 在包含“HTTP GET”的以太网帧中,字符“G”的位置(是第几个字节,假设Frame头部第一个字节的顺序为1)?5. 以太Frame的源MAC地址是多少?该地址是你主机的MAC地址吗?是服务器的MAC地址吗?如果不是,该地址是什么设备的MAC地址?6. 以太网帧的目的MAC地址是多少?该地址是你主机的地址吗?7. 给出Frame头部2-字节Type字段的十六进制值。8. 在包含“OK”以太网帧中,从该帧的第一个字节算起,”O”是第几个字节?9. 写下你主机ARP缓存中的内容。其中每一列的含义是什么?10. 包含ARP请求报文的以太网帧的源地址和目的地址的十六进制值各是多少?11. 给出Frame头部Type字段的十六进制值。12. 在ARP报文中是否包含发送方的IP地址?13. 包含ARP响应(reply)报文的以太网帧中,源地址和目的地址的十六进制值各是多少?实验二IP层协议分析一、 实验目的1. 了解ICMP、IP数据包格式;2. 掌握IP 数据报的组成和各字段的功能,分析数据报的IP首部;3. 理解ARP、ICMP与IP的关系;4. 理解ARP命令、PING命令与ARP、ICMP协议的关系;5. 熟悉ARP和ICMP协议包格式;6. 了解ARP、ICMP会话过程。二、 实验环境 与因特网连接的计算机网络系统;操作系统为windows;WireShark、IE等软件。三、 实验步骤(说明:以下所截界面上的数据与你电脑上的数据会有所不同)1. 首先进入MS DOS字符界面2. 在MS DOS下使用ARP d *命令清除自己电脑中MAC和IP映射表。见图1所示图1 ARP及PING命令运行结果3. 回到windows图形界面下4. 启动WireShark,开始捕获分组。5. 在MS DOS下键入Ping ,见图1所示。6. 回到WireShark并停止抓包,见图2所示。7. 查找到ARP请求和应答数据包,回答实验报告内容中的1-2题8. 查到PING命令执行时,产生的ICMP请求和应答报文,回答实验报告内容中的3-5题图2 WireShark抓包结果四、 实验报告内容1. 什么是ARP?ARP与IP的关系。2. ARP请求和应答数据包的数据部分的内容是什么?代表什么意思?3. 什么是ICMP?ICMP与IP的关系。4. ICMP的请求和应答报文的头部各字段的十六进制值分别是什么,代表什么含义?数据部分的内容以及IP头部的十六进制值分别是什么?内容。5. 什么是“会话”?本实验中那些协议有会话过程?IP有否“会话”?6. 你主机的IP地址是什么?你所访问的主页所在服务器的IP地址是什么?(未用)实验三TCP协议分析一、 实验目的及任务1. 熟悉TCP协议的基本原理2. 利用WireShark对TCP协议进行分析二、 实验环境与因特网连接的计算机网络系统;操作系统为windows;WireShark、IE等软件。三、 实验步骤1. 捕获大量的由本地主机到远程服务器的TCP分组(1) 启动WireShark,开始分组捕获。(2) 启动浏览器,打开http:/ / 网页, (3) 停止分组捕获。2. 浏览追踪信息(1) 在显示筛选规则编辑框中输入“tcp”,可以看到在本地主机和服务器之间传输的一系列tcp和HTTP消息,你应该能看到包含SYN Segment的三次握手。也可以看到有主机向服务器发送的一个HTTP GET消息和一系列的“http continuation”报文。(2) 根据操作回答“四、实验报告内容”中的1-2题。3. TCP基础 根据操作回答“四、实验报告内容”中的3-10题4. TCP拥塞控制(1) 在WireShark已捕获分组列表子窗口中选择一个TCP 报文段。选择菜单: Statistics-TCP Stream Graph- Time-Sequence-Graph(Stevens)。你会看到如下所示的图。(2) 根据操作回答“四、实验报告内容”中的11-12题。四、 实验报告内容在实验的基础上,回答以下问题:1. 向服务器传送文件的客户端主机的IP地址和TCP端口号分别是多少?2. 服务器的IP地址是多少?对这一连接,它用来发送和接收TCP报文的端口号是多少?3. 客户服务器之间用于初始化TCP连接的TCP SYN报文段的序号(sequence number)是多少?在该报文段中,是用什么来标示该报文段是SYN报文段的?4. 服务器向客户端发送的SYNACK报文段序号是多少?该报文段中,Acknowledgement字段的值是多少?服务器是如何决定此值的?在该报文段中,是用什么来标识该报文段是SYN ACK报文段的?5. 包含HTTP GET消息的TCP报文段的序号是多少?6. 如果将包含HTTP GET消息的TCP报文段看作是TCP连接上的第一个报文段,那么该TCP连接上的第六个报文段的序号是多少?是何时发送的?该报文段所对应的ACK是何时接收的?7. 前六个TCP报文段的长度各是多少?8. 在整个跟踪过程中,接收端向发送端通知的最小可用缓存是多少?限制发送端的传输以后,接收端的缓存是否仍然不够用?9. 在跟踪文件中是否有重传的报文段?判断的依据是什么?10. TCP连接的吞吐率(bytes transferred per unit time,单位时间传输的字节数)是多少?写出你的计算过程。11. 利用Time-Sequence-Graph(Stevens) plotting工具,浏览由客户端向服务器发送的报文段序号和时间对应关系图。你能否辨别出TCP慢启动阶段的起止,以及在何处转入避免拥塞阶段?12. 阐述所测量到的数据与TCP理想化的行为有何不同?实验四HTTP和DNS分析一、 实验目的及任务1. 熟悉并掌握WireShark的基本操作,了解网络协议实体间的交互以及报文交换。2. 分析HTTP和DNS协议二、 实验环境 与因特网连接的计算机网络系统;主机操作系统为Windows;WireShark、IE等软件。三、 实验步骤1. HTTP分析(1) 启动WireShark,开始分组捕获。(2) 启动主机上的web浏览器,在浏览器的地址栏中输入: ;浏览器将显示百度搜索网页。(3) 在窗口的显示过滤规则编辑框处输入“http”,分组列表子窗口中将只显示所捕获到的HTTP消息。选择分组列表窗口中的第一条http报文。它应该是你的计算机发向服务器的HTTP GET报文。(4) 停止分组捕获。 根据捕获窗口内容,回答“实验报告内容”中的1-4题。2. 跟踪并分析DNSnslookup工具允许主机向指定的DNS服务器查询某个DNS记录。如果没有指明DNS服务器,nslookup将把查询请求发向默认的DNS服务器。 nslookup的一般格式是: nslookup option1 option2 host-to-find dns-server ipconfig命令用来显示你当前的TCP/IP信息,包括:你的地址、DNS服务器的地址、适配器的类型等信息。如果,要显示与主机相关的信息用命令: ipconfig/all 如果查看DNS缓存中的记录用命令: ipconfig/displaydns 要清空DNS缓存,用命令: ipconfig /flushdns 运行以上命令需要进入MSDOS环境。(开始菜单运行输入命令“cmd”)(1) 利用ipconfig命令清空主机上的DNS缓存。启动浏览器,并将浏览器的缓存清空。(2) 启动WireShark,在显示过滤筛选规则编辑框处输入: “ip.addr = = your_IP_address”(如:ip.addr= =3) 过滤器将会删除所有目的地址和源地址与指定IP地址都不同的分组。(3) 开始WireShark分组捕获。(4) 在浏览器的地址栏中输入:后,回车。(5) 停止分组捕获。(6) 根据操作回答“实验报告内容”中的5-8题。(7) 开始WireShark分组捕获。(8) 上进行nslookup(即执行命令:nslookup )。(9) 停止分组捕获。(10) 根据操作回答“实验报告内容” 中的 9-11题。四、 实验报告内容1. HTTP分析(1) 从发出HTTP GET消息到接收到HTTP OK响应报文共需要多长时间?(在默认的情况下,分组列表窗口中Time列的值是从WireShark开始追踪到分组被捕获时总的时间,以秒为单位。若要按time-of-day格式显示Time列的值,需选择View下拉菜单,再选择Time Display Format,然后选择Time-of-day。)(2) 写出第3步所显示的HTTP消息头部行信息并说明其含义?(3) 你的浏览器使用的是HTTP1.0,还是HTTP1.1?你所访问的Web服务器所使用HTTP协议的版本号是多少?(4) 从服务器向你的浏览器返回response消息的状态代码是多少?表示什么意思?2. 跟踪并分析DNS(5) 定位到DNS查询消息和查询响应报文,这两种报文的发送是基于UDP还是基于TCP的?(6) DNS查询消息的目的端口号是多少?DNS查询响应消息的源端口号是多少?(7) DNS查询消息发送的目的地的IP地址是多少?利用ipconfig命令(ipconfig/all查看你主机的本地DNS服务器的IP地址。这两个地址相同吗?(8) 考虑一下你的主机随后发送的TCP SYN Segment, 包含SYN Segment的IP分组头部中目的IP地址是否与在DNS查询响应消息中提供的某个IP地址相对应?(9) DNS查询消息的目的端口号是多少?DNS查询响应消息的源端口号是多少?(10) DNS查询消息发送的目的地的IP地址是多少?这个地址是你的默认本地DNS服务器的地址吗?(11) 检查DNS查询响应消息,其中提供了多少个“answers”?每个answers包含哪些内容?实验五 客户/服务器模式下的数据传输一、 实验目的1. 熟悉socket编程接口;2. 初步掌握在TCP协议之上进行面向连接(或在UDP之上实现无连接)的客户机/服务器模式的应用软件的开发。二、 实验内容运用C语言或其它语言工具,掌握和利用各种语言工具所提供的Socket技术,在TCP协议之上进行面向连接(或在UDP之上实现无连接)的客户机/服务器模式的应用软件的开发,实现数据的发送和接收。基于TCP协议建立连接后,客户机给服务器发送一个数据结构的内容。面向连接时的套接字应用程序时序见下图:服务器客户机阻塞,等待客户数据socket()listen()accept()write()read()close()connect()socket()bind()write()read()close()处理服务请求建立连接请求数据应答数据三、 实验环境 在Windows下的VC+6.0./2003/2005 环境下。四、 实验步骤1. 进入IDE开发环境2. 输入源程序:2人作为1组,分别输入客户端程序和服务器端程序。3. 编译连接4. 调试:服务器程序首先运行,等待客户连接。客户连接上服务器后,发送信息。客户端的连接方式为:程序名 服务器IP地址姓名年龄五、 实验报告内容1. 记录程序调试过程。2. 画出程序流程图。3. 给出程序源代码服务器端源程序/ Winserver.cpp : 定义控制台应用程序的入口点。/ 运行时没有参数,使用端口进行侦听#include stdafx.h#include #include /侦听端口#define SERVER_PORT 6666/客户端向服务器传送结构struct studentchar name32;int age;int main(int argc, const char * argv)WORD wVersionRequested;WSADATA wsaData;int ret , nLeft, length;SOCKET sListen, sServer; /侦听套接字,连接套接字struct sockaddr_in saServer,saClient; /地址信息struct student stu;char *ptr;wVersionRequested = MAKEWORD(2,2); /希望使用的WinSock DLL的版本ret = WSAStartup( wVersionRequested, &wsaData);if (ret !=0)printf(WSAStarup() failed!n); return 0;/确认WinSock DLL支持版本.2if (LOBYTE(wsaData.wVersion) !=2 | HIBYTE(wsaData.wVersion) !=2)WSACleanup();printf(Invalid Winsock version!n);return 0;/创建Socket,使用TCP技术sListen=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if (sListen = INVALID_SOCKET) WSACleanup();printf(socket() failed!n);return 0;/构建本地址信息saServer.sin_family = AF_INET; /地址家族saServer.sin_port = htons(SERVER_PORT); /注意转化为网络字节序saServer.sin_addr.S_un.S_addr = htonl(INADDR_ANY); /使用INADDRANY指示任意地址/绑定ret= bind(sListen,(struct sockaddr *)&saServer, sizeof(saServer);if (ret= SOCKET_ERROR)printf(bind() failed! code:%dn, WSAGetLastError();closesocket(sListen); /关闭套接字WSACleanup();return 0;/侦听连接请求ret = listen(sListen, 5);if (ret = SOCKET_ERROR)printf(listen() failed! code:%dn,WSAGetLastError();closesocket(sListen); /关闭套接字WSACleanup();return 0;printf(Waiting for client connecting!n);printf(tips: Ctrl+c to quit!n);/阻塞等待接受客户端连接length = sizeof(saClient);sServer= accept(sListen, (struct sockaddr *) &saClient, &length);if (sServer =INVALID_SOCKET)printf(accept() failed! code:%dn,WSAGetLastError();closesocket(sListen); /关闭套接字WSACleanup();return 0;printf(Accepted client :%s:%dn,inet_ntoa(saClient.sin_addr),ntohs(saClient.sin_port);/按照预定协议,客户端将发来一个学生的信息nLeft = sizeof(stu);ptr=(char *) &stu;while (nLeft 0 )/接收数据 ret = recv(sServer, ptr, nLeft, 0); if (ret = SOCKET_ERROR) printf(recv() failed!n);break; if (ret=0) /客户端已经关闭连接printf(client has close the connection!n);break; nLeft -=ret; ptr+=ret;if (!nLeft) /已经接收到了所有数据printf(name:%snage:%dn, ,stu.age);closesocket(sListen); /关闭套接字closesocket(sServer);WSACleanup();return 0; 2、客户机端源程序/ WinClient.cpp : 定义控制台应用程序的入口点。/参数为:服务器IP地址学生名学生年龄#include stdafx.h#include #include #include #include #define SERVER_PORT 6666/客户端向服务器传送结构struct studentchar name32;int age;int main(int argc, const char * argv)WORD wVersionRequested;WSADATA wsaData;int ret ;SOCKET sClient; /连接套接字struct sockaddr_in saServer; /地址信息struct student stu;char *ptr=(char *)&stu;BOOL fSuccess = TRUE;if (argc !=4)printf(usage:informWinClient serverIP name agen);return 0;/WinSock初始化wVersionRequested = MAKEWORD(2,2); /希望使用的WinSock DLL的版本/确认WinSock DLL支持版本.2ret = WSAStartup( wVersionRequested, &wsaData);if (ret !=0)printf(WSAStarup() failed!n); return 0;if (LOBYTE(wsaData.wVersion) !=2 | HIBYTE(wsaData.wVersion) !=2)WSACleanup();printf(Invalid Winsock version!n);return 0;/创建Socket,使用TCP技术sClient=socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);if (sClient = INVALID_SOCKET) WSACleanup();printf(socket() failed!n);return 0;/构建服务器地址信息saServer.sin_family = AF_INET;/地址家族saServer.sin_port= htons(SERVER_PORT);/注意转化为网络字节序saServer.sin_addr.S_un.S_addr = inet_addr(argv1);/连接服务器ret= connect(sClient,(struct sockaddr *)&saServer, sizeof(saServer);if (ret= SOCKET_ERROR)printf(connect() failed!n);closesocket(sClient);/关闭套接字WSACleanup();return 0;/按照预定协议,客户端将发送一个学生的信息strcpy(,argv2);stu.age=atoi(argv3);ret = send(sClient, (char *) &stu, sizeof(stu),0);if (ret = SOCKET_ERROR)printf(Send() failed!n);elseprintf(Student info has been sent!n);closesocket(sClient);/关闭套接字WSACleanup();return 0;附录:一、 认识WireShark1、熟悉界面 (1)第一部分是菜单和工具栏,wireshark提供的所有功能都可以在这一部分中找到。(2)第二部分是被捕获包的列表,其中包含被捕获包的一般信息,如被捕获的时间、源和目的IP地址、所属的协议类型,以及包的类型等信息。(3)第三部分显示第二部分已选中的包的每个域的具体信息,从以太网帧的首部到该包中负载内容,都显示得清清楚楚。(4)第四部分显示已选中包的16进制和ASCII表示,帮助用户了解一个包的本来样子。2、抓包(1)选择“Capture”菜单项中的 “Option”,这时会弹出一个对话框,如下所示。 这个对话框中的栏目虽然很多,但一般只需配置其中两项。一项是 “Capture Filter”栏。在这个栏中,可以输入过滤规则,用于规定wireshark捕获包的种类;如果不输入过滤规则,则wireshark将捕获所有从网卡发送或收到的包。另外一项是 “Update list of packets in real time”选项,请大家一定要选中这一项,这样可以使wireshark在捕获包的同时,实时地把捕获的包显示出来。(2)在完成如上配置后,点击“Start”按钮,wireshark便开始捕获包。3、对所抓取的TCP数据包解释 帧号 时间 源地址 目的地址 高层协议 包内信息概况 No. Time Source Destination Protocol Info 1 0.000000 25 2 TCP 2764 http SYN Seq=0 Len=0 MSS=1460 源端口目的端口请求建立TCP链接- 以下为物理层的数据帧概况 Frame 1 (62 bytes on wire, 62 bytes captured) 1号帧,线路62字节,实际捕获62字节 Arrival Time: Jan 21, 2008 15:17:33.910261000 捕获日期和时间 Time delta from previous packet:0.00000 seconds此包与前一包的时间间隔 Time since reference or first frame: 0.00 seconds此包与第1帧的间隔时间 Frame Number: 1 帧序号 Packet Length: 62 bytes 帧长度 Capture Length: 62 bytes 捕获长度 Frame is marked: False 此帧是否做了标记:否 Protocols in frame: eth:ip:tcp 帧内封装的协议层次结构 Coloring Rule Name: HTTP 用不同颜色染色标记的协议名称:HTTP Coloring Rule String: http | tcp.port = 80 染色显示规则的字符串:- 以下为数据链路层以太网帧头部信息 Ethernet II, Src: AcerTech_5b:d4:61 (00:00:e2:5b:d4:61), Dst: Jetcell_e5:1d:0a (00:d0:2b:e5:1d:0a) 以太网协议版本II,源地址:厂名_序号(网卡地址),目的:厂名_序号(网卡地址) Destination: Jetcell_e5:1d:0a (00:d0:2b:e5:1d:0a) 目的:厂名_序号(网卡地址) Source: AcerTech_5b:d4:61 (00:00:e2:5b:d4:61) 源:厂名_序号(网卡地址) Type: IP (0x0800) 帧内封装的上层协议类型为IP(十六进制码0800)- 以下为互联网层IP包头部信息 Internet Protocol, Src: 25 (25), Dst: 2 (2) 互联网协议,源IP地址,目的IP地址 Version: 4 互联网协议IPv4(请参考书上P122页IPv4数据报字段结构) Header length: 20 bytes IP包头部长度 Differentiated Services Field:0x00(DSCP 0x00:Default;ECN:0x00)差分服务字段 Total Length: 48 IP包的总长度 Identification:0x8360 (33632) 标志字段 Flags: 标记字段(在路由传输时,是否允许将此IP包分段) Fragment offset: 0 分段偏移量(将一个IP包分段后传输时,本段的标识) Time to live: 128 生存期TTL Protocol: TCP (0x06) 此包内封装的上层协议为TCP Header checksum: 0xe4ce correct 头部数据的校验和 Source: 25 (25) 源IP地址描述一下WireShark的设置选项,比如如何设置选定网卡,如何设置过滤器等;一、 WireShark Capture Options详解菜单“Capture”-“Options”则打开“WireShark:Capture Options”对话框:Interface:选择采集数据包的网卡IPaddress:选择的网卡所对应的IP地址Link-layerheadertype:数据链路层的协议,在以太网中一般是EthernetIIBuffersize:数据缓存大小设定,默认是1M字节Capturepacketsinpromiscuousmode:设定在混杂模式下捕获数据,如果不选中,将只能捕获本机的数据通讯,默认情况下选中该项Limiteachpacketto:设定只捕获数据包的前多少个字节(从以太网头开始计算),默认是68CaptureFilter:设定当前的数据包采集过滤器CaptureFileFile:设定数据包文件的保存位置和保存文件名,默认不保存Usemultiplefiles:启用多文件保存,默认不启用Nextfileevery:设定每个数据包文件的大小(单位是M,默认1M),只有启用Usemultiplefiles后此项才可用Nextfileevery:设定每个数据包文件的大小(单位是分钟,默认1分钟),只有启用Usemultiplefiles后此项才可用Ringbufferwith:当保存多少个数据包文件后循环缓存,默认是2个文件,即保存2个数据包文件后丢弃缓存中的数据包,再添加新采集到的数据包Stopcaptureafter:当保存多少个数据包文件后停止捕获,默认是1个文件StopCaptureafter:捕获到多少个数据包后停止捕获,默认不启用,如启用,默认值是1after:捕获到多少M字节的数据包后停止捕获,默认不启用,如启用,默认值是1after:捕获多少分钟后停止捕获,默认不启用,如启用,默认值是1DisplayOptionsUpdatelistofpacketsinrealtime:实时更新捕获到的数据包列表信息Automaticscrollinginlivecapture:对捕获到的数据包信息进行自动滚屏显示Hidecaptureinfodialog:隐藏捕获信息对话框NameResolutionEnableMACnameresolution:把MAC地址前3位解析为相应的生产厂商Enablenetworknameresolution:启用网络地址解析,解析IP,IPX地址对应的主机名Enabletransportnameresolution:启用端口名解析,解析端口号对应的端口名二、 SOCKET编程1、SOCKET规范

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论