当前位置:文档之家› TCPIP实验

TCPIP实验

TCPIP实验
TCPIP实验

实验一:静态路由协议配置

实验目的:

1.掌握静态路由协议的相关原理和应用; 2.熟悉对网络设备的配置和使用

3.利用抓包工具抓取数据包,分析IP 字段的具体含义 实验原理:

在同步串行连接中均采用PPP 封装,在保证单个链路正常通讯的前提下,在三台设备中配置静态路由,以实现通讯。 实验设备:3台路由器,2台PC 机 实验组网图:

R3

R2

R1

PC1

网关:192.168.1.1

网关:172.16.1.1

实验步骤:

1. 如同所示,所有的链路地址如下:(包括网络地址和子网地址): 19

2.168.1.0/24 10.0.0.0/30 20.0.0.0/30 172.16.1.0/24

2. 为每个路由器标识非直连的链路地址,以R1为例—— R1: 20.0.0.0/30 172.16.1.0/24

仿照R1写出R2、R3的非直连的链路地址——

R2:

192.168.1.0/24

172.16.1.0/24

R3:

192.168.1.0/24

10.0.0.0/30

3. 为每个路由器写出非直连的地址的路由语句,以R1为例——

R1:

ip route-static 20.0.0.0 30 10.0.0.2

ip route-static 172.16.1.0 24 10.0.0.2

仿造R1写出R2、R3的非直连的地址的路由语句——

R2:

ip route-static 192.168.1.0 24 10.0.0.1

ip route-static 172.16.1.0 24 20.0.0.2

R3:

ip route-static 192.168.1.0 24 20.0.0.1

ip route-static 10.0.0.0 30 20.0.0.1

4. 选择设备,按照实验组网图进行物理连接。注意各接口的正确连接。

5.确保物理连接正确后,通过管理控制系统登陆要配置的路由器,在每个路由器上配置静态路由,具体配置如下:

R1:

system-view

[H3C]sysname R1

[R1]interface s1/0

[R1-Serial1/0]ip addr 10.0.0.1 30

[R1-Serial1/0]int e8/0

[R1-Ethernet8/0]ip addr 192.168.1.1 24

[R1-Ethernet8/0]quit

[R1]ip route-static 20.0.0.0 30 10.0.0.2

[R1]ip route-static 172.16.1.0 24 10.0.0.2

R2:

system-view

[H3C]sysname R2

[R2]interface s1/0

[R2-Serial1/0]ip addr 10.0.0.2 30

[R2-Serial1/0]interface s2/0

[R2-Serial2/0]ip addr 20.0.0.1 30

[R2-Serial2/0]quit

[R2]ip route-static 192.168.1.0 24 10.0.0.1

[R2]ip route-static 172.16.1.0 24 20.0.0.2

R3:

system-view

[H3C]sysname R3

[R3]interface s2/0

[R3-Serial2/0]ip addr 20.0.0.2 30

[R3-Serial2/0]int e8/0

[R3-Ethernet8/0]ip addr 172.16.1.1 24

[R3-Ethernet8/0]quit

[R3]ip route-static 10.0.0.0 30 20.0.0.1

[R3]ip route-static 192.168.1.0 24 20.0.0.1

6.分析验证:

(1)按图示为pc1和pc2配置ip地址和网关,然后pc1 ping 路由器各端口地址和pc2是否为通? ping之前打开pc上的抓包工具,ping后从抓取到的数据中选取一条ICMP request 包,分析其中的IP层字段。记录下ping的结果和对IP字段的分析过程。

(2)查看路由表,分别记下查看到的结果: [R1]display ip routing-table

[R2]display ip routing-table

[R3]display ip routing-table

TCPIP实验指导书

TCP/IP协议分析与编程实践实验提要 本学期实验课程为24学时,必做实验6个,具体内容如下介绍。除实验5要求采用winpcap,其他实验不限定实现的编程语言和平台。 实验1-1 系统时间同步程序 要求:(1)TCP (2)C/S 摘要:设计简单的客户/服务器程序实现客户系统时间和服务器系统时间同步。 具体: 客户:(1)客户创建流套接字,向服务器发起TCP连接。 (2)连接创建成功后,接收服务器返回的时间,更新客户系统时间。 (3)断开与服务器的连接。 服务器:(1)服务器创建监听套接字,监听客户TCP连接请求。 (2)当收到一个客户TCP连接请求,创建连接套接字同意与其创建连接。 (3)获取系统时间,通过连接套接字返回给客户。 实验1-2 系统时间同步程序 要求:(1)UDP (2)C/S 摘要:设计简单的客户/服务器程序实现客户系统时间和服务器系统时间同步。 具体: 客户:(1)客户创建数据报套接字,通过该套接字向服务器发出”time”命令获取服务器系统时间。 (2)接收服务器返回的时间,更新客户系统时间。 (3)断开与服务器的连接。 服务器:(1)服务器创建数据报套接字,等待接收客户数据。 (2)接收客户发来的“time”命令,获取系统时间,通过套接字返回给客户。实验2 聊天程序设计 要求:(1)TCP/UDP (2)C/S 摘要:设计简单的客户/服务器程序实现客户和服务器相互收发数据直到一端输入“end”结束。 具体: 客户:(1)客户创建流套接字,向服务器发起TCP连接。(或是客户创建数据报套接字)

(2)连接创建成功后,通过套接字向服务器持续发送或是接收数据。 (3)输入或是收到命令”end”,结束收发数据,并断开与服务器的连接。 服务器:(1)服务器创建监听套接字,监听客户TCP连接请求。(或是创建数据报套接字)(2)当收到一个客户TCP连接请求,创建连接套接字同意与其创建连接。 (3)通过套接字与客户持续发送或是接收数据。 (4)输入或是收到”end“命令,结束与该客户的收发数据,断开连接。 实验3 TCP和UDP套接字综合应用 要求:(1)TCP、UDP (2)C/S (3)多线程编程 摘要:设计简单的客户/服务器,服务器实现并发同时响应客户的UDP通信要求,也能响应客户端发过来的TCP通信要求。 TCP客户: (1)客户创建流套接字,向服务器发起TCP连接。 (2)连接创建成功后,通过套接字向服务器持续发送或是接收数据。 (3)输入或是收到命令”end”,结束收发数据,并断开与服务器的连接。 UDP客户: (1)客户创建数据报套接字,通过该套接字向服务器发出”time”命令获取服务器系统时间。 (2)接收服务器返回的时间,更新客户系统时间。 (3)断开与服务器的连接。 服务器: 针对TCP客户,提供的服务如下: (1)服务器创建监听套接字,监听客户TCP连接请求。 (2)当收到一个客户TCP连接请求,创建连接套接字同意与其创建连接。 (3)通过套接字与客户持续发送或是接收数据。 (4)输入或是收到”end“命令,结束与该客户的收发数据,断开连接。 针对UDP客户,提供的服务如下: (1)服务器创建数据报套接字,等待接收客户数据。 (2)接收客户发来的“time”命令,获取系统时间,通过套接字返回给客户。 实验4 Web服务器 要求:(1)TCP (2)C/S (3)http 摘要:设计一个简单的web服务器,它仅能处理一个请求。 具体: Web服务器:

tcpip实验报告

网络协议分析实验 一、实验目的 通过使用协议分析软件,对通信系统的通信过程进行监控、分析,以了解通信协议的工作过程。 二、实验内容 利用协议分析软件(如:Wireshark)跟踪局域网报文(如条件允许也可跟踪多种局域网协议报文),实验内容如下: 将安装协议分析软件的PC接入以太网中,跟踪PC之间的报文,并存入文件以备重新查。 设置过滤器过滤网络报文以检测特定数据流。 利用协议分析软件的统计工具显示网络报文的各种统计信息。 三、实验步骤 1、在PC中安装协议分析软件(如:Wireshark)。具体安装过程详见附录:Wireshark用户指南。 2、启动Wireshark协议分析软件,选择抓包菜单项启动实时监视器,开始实时跟踪显示网络数据报文。可根据系统提示修改显示方式,详见附录:Wireshark用户指南。 3、调出跟踪存储的历史报文,选择有代表性的ETHERNET,IEEE802.3,IP,ICMP,TCP,UDP报文,对照有关协议逐个分析报文各字段的含义及内容。 EHERNET报文格式 IEEE802.3报文格式 IP报文格式

4、设置过滤器属性,如目的地址,源地址,协议类型等。如过滤不需要的网络报文,过滤器允许设置第二层,第三层或第四层的协议字段。 过滤器有两种工作方式: 1)捕获前过滤:协议分析软件用过滤器匹配网络上的数据报文,仅当匹配通过时才捕获报文。 2)捕获后过滤:协议分析软件捕获所有报文,但仅显示匹配符合过滤条件的报文。选择统计菜单项可以显示网络中各种流量的统计信息,如:关于字节数,广播中报文数,出错数等。

UDP 客户/服务器实验 一、实验目的 本实验目的是使用因特网提供的UDP 传输协议,实现一个简单的UDP 客户/服务器程序,以了解传输层所提供的UDP 服务的特点,应用层和传输层之间的软件接口风格,熟悉socket 机制和UDP 客户端/服务器方式程序的结构。 二、实验内容 本实验为UDP 客户/服务器实验。实验内容:UDP echo 客户/服务器程序的设计与实现。UDP echo 客户/服务器程序完成以下功能: 客户从标准输入读一行文本,写到服务器上;服务器从网络输入读取此行,并回射(echo )给客户;客户读此回射行,并将其写到标准输出。 三、实验步骤 1、 总体设计 客户程序从标准输入读一行文本,写到服务器程序上;服务器程序从网络输入读取此行,并回射给客户程序;客户程序读此回射行,并将其写到标准输出。 2、 详细设计 U D P 客户-服务器程序所用套接口函数 1)服务器main 函数 2)服务器str_echo 函数

tcpip原理课程教案

TCP/IP原理课程教案 教学内容(包括基本内容、重点、难点): 内容: 1、回顾网络的设计目标和TCP/IP的分层结构 网络的质量概念 TCP/IP网络的设计目标 五层结构 信息传输的过程 五层功能概要 2、物理网络WAN、LAN概要以及和IP的子网概念 WAN、LAN的网络组成和拓扑结构(点到点、共享信道) IP地址回顾 IP网络和WAN、LAN拓扑结构的关系(逻辑网络、物理网络) IP子网 重点: 1、WAN、LAN的结构和IP网络的关系 2、IP子网 难点: 1、分层结构中层和层的接口,初学者很难理解 2、IP子网

TCP/IP原理课程教案 教学内容(包括基本内容、重点、难点): 内容: 1、路由表的作用和内容 IP分组转发 路由表内容 路由表和网络接口关系 2、ARP原理 ARP作用 ARP原理 RARP作用 3、IP的实现 IP软件流程 IP软件包 ARP软件包 重点: 1、路由表 2、IP程序流程 难点: 1、IP软件包

TCP/IP原理课程教案 教学内容(包括基本内容、重点、难点): 内容: 1、ICMP的作用和分组 网络中的作用 分组报文类型和格式 差错报告 查询 2、ICMP的分组编码含义细节 目的端不可达 源端抑制 超时 ……等等编码 3、IGMP的作用和原理 多播和单播 以太网络的多播和IP多播转换 重点: 1、ICMP的编码含义 2、多播 难点: 1、多播 2、差错报告的复杂性

教学内容(包括基本内容、重点、难点): 内容: 1、UDP 存在差错的传输层 UDP的作用 应用模型 端口号 套接字 2、TCP 无差错的传输层 连接的建立和连接的服务 3、RTCP 实时传输协议的作用和原理 4、TCP的实现 软件包实现 重点: 1、端口号与套接字、连接 2、TCP软件包 难点: 1、连接

实验一TCPIP配置与测试

实验一TCP/IP配置与测试 一、实验目的及任务 1、熟悉并掌握TCP/IP的基本配置。 2、掌握TCP/IP的基本测试方法。 二、实验环境 与因特网连接的计算机局域网; 主机操作系统为windows 2000; 三、预备知识 从某种程度上说,Internet/Intranet与传统网络的主要区别在于它采用了TCP/IP协议,TCP/IP通信协议是目前最完整的、被普遍接受的通信协议标准。它可以使不同的硬件结构、不同软件操作系统的计算机之间相互通信。TCP/IP 是一个广泛发布的公开标准,完全独立于任何硬件或软件厂商,可以运行在不同体系的计算机上。它采用通用寻址方案,一个系统可以寻址到任何其他系统,即使在Internet这样庞大的全球网络内,寻址也是游刃有余。 主流的操作系统都支持TCP/IP协议。微软公司的操作系统平台对TCP/IP提供了强有力的支持,其安装和配置管理都是基于图形化窗口的,只要对TCP/IP 基本知识有所了解,即使是初学者按照提示也能够很轻易地进行基本的安装配置。 TCP/IP配置完毕后,即可利用测试工具进行测试。Windows提供了许多测试工具软件,常用的有: .Ping ,检测网络是否连通。 .Ipconfig ,显示目前TCP/IP的配置。 .Netstat ,显示目前TCP/IP网络连接与每一种协议的统计数据。 .Route ,显示路由配置信息。 .Tracert ,根踪由本机将数据包传送到目的主机所经的路由器及时间。 四、实验步骤 1、在Windows2000 Server中配置TCP/IP。

(1)选择[开始]>[设置]>[控制面板]>[网络和拨号连接],打开网络和拨号连接对话框。 (2)选择[本地连接],单击鼠标右键,从弹出的快捷菜单中选择[属性]、从组件列表中选择[1nternet协议(TCP/IP)] ,单击[属性]按钮打开如图 1.1所示的对话框。 图1.1 [Internet协议(TCP/IP)属性]对话框 (3)选择1P地址分配方式,这里有两种情况: ●如果要通过动态分配的方式获取IP地址,请选择[自动获得IP地址选 项] 。这样计算机启动时自动向DHCP服务器申请IP地址,除了获取 IP地址外,还能获得子网掩码、默认网关、DNS服务器等信息,自动 完成TCP/IP协议配置。对于服务器一般不让DHCP服务器指派地址, 而应设置固定的IP地址。 ●如果要分配一个静态地址,请选择[使用下面的IP地址]选项,接着在 下面的区域输入指定的IP地址、子网掩码以及默认的网关地址,必须 为不同的计算机设置不同的IP地址,同一网段内的子网掩码必须相同。(4)选择DNS服务器地址分配方式,一般要使用DNS域名服务,如果要通过动态分配的方式获取IP地址,请选择[自动获得DNS服务器地址]选 项:如果要分配一个静态地址,请选择[使用下面的DNS服务器地址] 选项,接着在下面的区域输入指定的首选DNS服务器地址和备用DNS

TCPIP实验报告

TCP/IP技术实验报告 书 专业:[通信工程] 学生姓名:[张世超] 完成时间:9:28 AM

实验一网络应用程序基础 实验目得: 通过实验,使学生熟悉并掌握运用TCP/IP技术进行网络编程得基本知识,加深对课堂教学内容得理解,掌握套接字网络通信编程技术,能够运用VC++为开发工具编程解决网络通信中得实际问题,进行一些简单得网络应用程序设计。实验内容: 1,Winsock得启动与终止。 2,Winsock得创建及绑定与关闭。 3,建立通信连接listen及accept与connect。 4,数据得传输。 5,简单得客户机/服务器之间得通信。 要求:通过在SDK模式下完成数据通信得过程,掌握Windows Socket得常用函数得形式与使用方法,理解数据通信得过程。 实验步骤: 1,打开VC环境 1,使用向导为客户端创建工程:选择可执行程序,选择使用wsa环境,单文档环境,其她得选择默认设置 2,在文件中添加代码 3,编译调试 4,使用向导为服务器端创建工程:选择可执行程序,选择使用wsa环境,单文档环境,其她得选择默认设置 5,在文件中添加代码 6,编译调试 7,分别打开两个系统命令窗口中,并分别在其中运行客户端与服务器端程序。 8,在客户端侧输入字符,可以瞧到服务器收到字符串 参考代码:课本156页--160页 实验结果: Client: #include<Winsock2、h> #include<stdio、h> //服务器端口号为5050 #define DEFAULT_PORT 5050 #define DATA_BUFFER 1024 void main(int argc,char *argv[]) { ?WSADATA wsaData; SOCKET sClient; ?int iPort=DEFAULT_PORT;

实验1TCPIP属性设置(参考答案)

实验一TCP/IP属性设置与测试 【一】实验目的 1. 通过实验学习局域网接入Internet时的TCP/IP属性的设置; 2. 掌握ping、ipconfig等命令的使用; 3. 熟悉使用相关命令测试和验证TCP/IP配置的正确性及网络的连通性。 【二】实验要求 1. 设备要求:计算机2台以上(装有Windows 2000/XP/2003操作系统、装有网卡已联网); 2. 分组要求:2人一组,合作完成。 【三】实验预备知识 1. IP地址、子网掩码、默认网关、DNS服务器 (1)IP地址 IP地址(IP Address)就是给每个连接在Internet上的主机分配的一个32bit二进制地址,为了方便人们的使用,IP地址经常被写成十进制的形式,中间使用符号“.”分开不同的字节,IP地址它就像一个人可以合法的在社会上办理银行卡、移动电话等社会活动所需要一个身份证号标识一样。 所有的IP地址都由国际组织NIC(Network Information Center)负责统一分配,目前全世界共有三个这样的网络信息中心:InterNIC(负责美国及其他地区)、ENIC(负责欧洲地区)、APNIC(负责亚太地区),我国申请IP地址要通过APNIC,APNIC的总部设在澳大利亚布里斯班。申请时要考虑申请哪一类的IP地址,然后向国内的代理机构提出。 (2)子网掩码 子网掩码(subnet mask)又叫网络掩码、地址掩码、子网络遮罩,它是一种用来指明一个的哪些位标识的是主机所在的子网以及哪些位标识的是主机的位掩码。子网掩码不能单独存在,它必须结合IP地址一起使用。子网掩码只有一个作用,就是将某个IP地址划分成网络地址和主机地址两部分。 (3)默认网关 默认网关(Default Gateway)是一个可直接到达的IP 路由器的IP 地址,配置默认网关可以在IP 路由表中创建一个默认路径,一台主机可以有多个网关。默认网关的意思是一台主机如果找不到可用的网关,就把数据包发给默认指定的网关,由这个网关来处理数据包,它就好像一所学校有一个大门,我们进出学校必须经过这个大门,这个大门就是我们出入的默认关口。现在主机使用的网关,一般指的是默认网关。一台主机的默认网关是不可以随随便便指定的,必须正确地指定,否则一台主机就会将数据包发给不是网关的主机,从而无法与其他网络的主机通信。 (4)DNS服务器 DNS服务器(Domain Name System或者Domain Name Service) 是域名系统或者域名服务,域名系统为Internet上的主机分配域名地址和IP地址。用户使用域名地址,该系统就会自动把域名地址转为IP地址。域名服务是运行域名系统的Internet工具。执行域名服务的服务器称之为DNS服务器,通过DNS服务器来应答域名服务的查询。TCP/IP属性设置中填入的是DNS服务器的IP地址。 2. Ping命令 Ping命令是最常用的一种网络命令,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。根据返回的信息,可以推断TCP/IP参数是否设置正确以及运行是否正常。按照缺省设置,Windows上运行的Ping命令发送4个ICMP(互联网控制报文协议)回送请求,每个32字节数据,

TCP.IP课程实验报告

TCP/IP协议族分析 课程设计

目录 第一章TCP/IP 概述 (3) 1.1 TCP/IP协议族定义 (3) 1.2 TCP/IP协议族的特点 (3) 1.3 TCP/IP协议族的分层 (3) 1.4 TCP/IP协议族的结构 (4) 第二章地址解析协议(ARP)——链路层 (5) 2.1 ARP概述 (6) 2.2 ARP的组成 (6) 2.3 ARP工作原理 (7) 2.4 ARP帧结构 (7) 第三章因特网控制消息协议(ICMP)——网络层 (13) 3.1 ICMP协议简介 (13) 3.2 ICMP消息结构 (14) 3.3 Echo Request和Echo Reply查询消息 (14) 3.4 ICMP各字段分析 (15) 第四章传输控制协议(TCP)——运输层 (18) 4.1 TCP协议简介 (18) 4.2 TCP数据包结构 (19) 4.3 TCP数据包分析 (20) 4.4 TCP三次“握手” (25) 第五章普通文件传输协议(TFTP)——应用层 (27) 5.1 TFTP数据传输模式 (27) 5.2 TFTP会话实例 (28) 总结 (31) 参考文献 (31)

第一章 TCP/IP 协议族概述 1.1 TCP/IP协议族定义 TCP/IP协议族是指一整套数据通信协议, 其名字是由这些协议中的两个协议组成的,即传输控制协议(Transmission Control Protocol ——TCP)和网间协议(Internet Protocol——IP)。虽然还有很多其他协议,但是TCP和IP显然是两个最重要的协议。 1.2 TCP/IP协议族的特点 TCP/IP协议族有一些重要的特点,以确保在特定的时刻能满足一种重要的需求,即世界范围内的数据通信。其特点包括: ●开放式协议标准。可免费使用,且与具体的计算机硬件或操作系统无关。由于它受到如此广泛的支持,因而即使不通过Internet 通信,利用TCP/IP来统一不同的硬件和软件也是很理想的。 ●与物理网络硬件无关。这就允许TCP/IP可以将很多不同类型的网络集成在一起,它可以适用于以太网、令牌环网、拨号线、X.25网络以及任何其它类型的物理传输介质。 ●通用的寻址方案。该方案允许任何TCP/IP设备唯一的寻址整个网络中的任何其他设备,该网络甚至可以像全球Internet那样大。 ●各种标准化的高级协议。可广泛而持续地提供多种用户服务。 1.3 TCP/IP协议族的分层 图1-1 TCP/IP协议族中不同层次的协议

TCP协议通讯工作原理

TCP协议通讯工作原理 一、TCP三次握手 传输控制协议(Transport Control Protocol)是一种面向连接的,可靠的传输层协议。面向连接是指一次正常的TCP传输需要通过在TCP客户端和TCP服务端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。可靠性可以通过很多种方法来提供保证,在这里我们关心的是数据序列和确认。TCP通过数据分段(Segment)中的序列号保证所有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数据传输的完整性。要通过TCP传输数据,必须在两端主机之间建立连接。举例说明,TCP客户端需要和TCP服务端建立连接,过程如下所示: TCP Client Flags TCP Server 1 Send SYN (seq=w)----SYN--->SYN Received 2 SYN/ACK Received<---SYN/ACK----Send SYN (seq=x),ACK (w+1) 3 Send ACK (x+1)----ACK--->ACK Received,Connection Established w: ISN (Initial Sequence Number) of the Client x: ISN of the Server 在第一步中,客户端向服务端提出连接请求。这时TCP SYN标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP报头的序列号区中插入自己的ISN。服务端收到该TCP分段后,在第二步以自己的ISN回应(SYN标志置位),同时确认收到客户端的第一个TCP分段(ACK 标志置位)。在第三步中,客户端确认收到服务端的ISN(ACK标志置位)。到此为止建立完整的T CP连接,开始全双工模式的数据传输过程。 二、TCP标志 这里有必要介绍一下TCP分段中的标志(Flag)置位情况。如下图所示:

TCP实验报告 计算机网络

计算机网络实验报告——TCP客户/服务器应用程序设计 姓名: 班级:

一.实验目的 实现在TCP方式下客户端和服务器端的数据传输过程。 二.实验要求 编程实现一个聊天室系统。该系统首先必须设立服务器,建立完成后必须建立与服务器的连接。建立成功后可以接收客户端输入的信息。该系统包括客户端和服务器端两部分。用户通过客户端发送消息。服务器端在收到消息后,显示在主界面上 实验报告要求有实现过程的流程图,对主要的函数及其参数给予说明,要有实现过程的主要程序段,并对各段程序的功能及作用进行说明。 三.程序实验原理及流程图 在TCP/IP协议下,通讯是建立在服务器与客户端之间的。由客户端想服务器发送连接请求,服务器响应后建立连接,然后才能开始进行通讯。一下是实现的流程图。 系统工作流程:

四.节目设计 在VC++的MFC下创建基于对话框模式的TCP服务器端和TCP客户端,设置控件并调整相应的属性。下面是初始化的效果:

五.主要函数及其参数说明 1、服务器端 1)BOOL CCSocketDlg::OnInitDialog() 用于初始化对话框。在这个这个系统自动生成的函数中添加对进程的控制。 count=0; m_list.InsertColumn(0,"消息");

m_list.SetColumnWidth(0,435); m_edit.SetLimitText(99); for (int i=0;i<50;i++) msgsock[i]=NULL; //设定地址 serv.sin_addr.s_addr=htonl(INADDR_ANY); serv.sin_family=AF_INET; serv.sin_port=5000;//htons(5000); addlen=sizeof(serv); m_button.EnableWindow(FALSE); //创建socket sock=socket(AF_INET,SOCK_STREAM,0); //绑定 if (bind(sock,(sockaddr*)&serv,addlen)){ m_edit.SetWindowText("绑定错误"); } else{ //m_list.InsertItem(count++,inet_ntoa(serv.sin_addr)); m_edit.SetWindowText("服务器创建成功"); //开始侦听 listen(sock,5); //调用线程 AfxBeginThread(&thread,0); 2)getcount() 用于获得还没有使用的socket数组号int CCSocketDlg::getcount(){ for (int i=0;i<50;i++){ if (msgsock[i]==NULL) return i;} return -1;

TCPIP实验之IP数据包分析--

TCP/IP协议与编程实验 姓名: 班级: 学号: 实验题目用Wireshark抓包分析ip数据包 一、实验目的 1、了解并会初步使用Wireshark,能在所用电脑上进行抓包 2、了解IP数据包格式,能应用该软件分析数据包格式 3、查看一个抓到的包的内容,并分析对应的IP数据包格式 二、实验内容 Wireshark 是网络包分析工具。网络包分析工具的主要作用是尝试捕获网络包,并尝试显示包的尽可能详细的情况。 实验步骤: 1、打开wireshark,选择接口选项列表。或单击“Capture”,配置“option” 选项。

2、设置完成后,点击“start”开始抓包: 3、显示结果: 3、选择某一行抓包结果,双击查看此数据包具体结构。

4、捕捉IP数据报。 ① 写出IP数据报的格式。 IP数据报首部的固定部分中的各字段含义如下: (1)版本占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。 (2)首部长度占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据部分永远在4字节的整数倍开始,这样在实现IP协议时较为方便。首部长度限制为60 字节的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常用的首部

3)区分服务占8位,用来获得更好的服务。这个字段在旧标准中叫做服务类型,但实际上一直没有被使用过。1998年IETF把这个字段改名为区分服务 DS(Differentiated Services)。只有在使用区分服务时,这个字段才起作用。 (4)总长度总长度指首部和数据之和的长度,单位为字节。总长度字段为16位,因此数据报的最大长度为216-1=65535字节。长度就是20字节(即首部长度为0101),这时不使用任何选项。 (5)标识(identification) 占16位。IP软件在存储器中维持一个计数器,每产生一个数据报,计数器就加1,并将此值赋给标识字段。但这个“标识”并不是序号,因为IP是无连接服务,数据报不存在按序接收的问题。当数据报由于长度超过网络的MTU而必须分片时,这个标识字段的值就被复制到所有的数据报的标识字段中。相同的标识字段的值使分片后的各数据报片最后能正确地重装成为原来的数据报。 (6)标志(flag) 占3位,但目前只有2位有意义。 标志字段中的最低位记为MF(More Fragment)。MF=1即表示后面“还有分片”的数据报。MF=0表示这已是若干数据报片中的最后一个。 标志字段中间的一位记为DF(Don’t Fragment),意思是“不能分片”。只有当DF=0时才允许分片。 7)片偏移占13位。片偏移指出:较长的分组在分片后,某片在原分组中的相对位置。也就是说,相对用户数据字段的起点,该片从何处开始。片偏移以8 个字节为偏移单位。这就是说,每个分片的长度一定是8字节(64位)的整数倍。 (8)生存时间占8位,生存时间字段常用的的英文缩写是TTL(Time To Live),表明是数据报在网络中的寿命。由发出数据报的源点设置这个字段。其目的是防止无法交付的数据报无限制地在因特网中兜圈子,因而白白消耗网络资源。最初的设计是以秒作为TTL的单位。每经过一个路由器时,就把TTL减去数据报在路由器消耗掉的一段时间。若数据报在路由器消耗的时间小于1秒,就把TTL值减1。当TTL值为0时,就丢弃这个数据报。 #TTL通常是32或者64,scapy中默认是64 (9)协议占8位,协议字段指出此数据报携带的数据是使用何种协议,以便使目的主机的IP层知道应将数据部分上交给哪个处理过程。(在scapy中,下层的这个protocol一般可以从上曾继承而来,自动填充,我们一般可以省略不填此项) (10)首部检验和占16位。这个字段只检验数据报的首部,但不包括数据部分。这是因为数据报每经过一个路由器,路由器都要重新计算一下首部检验和

TCP协议实验报告

学生实验报告 姓名:_________ 学号:____________ 班级:________________ 指导老师:_______________ 内容摘要 该实验报告了TCP协议分析实验相关分析; TCP协议分析是通过Wireshark分析TCP协议的报文格式,如理解TCP报文段首部各字段的含义,理解TCP建立连接的三次握手机制,了解TCP的确认机制,了解TCP的流量控制和拥塞控制 实验目的 1. 通过协议分析软件掌握TCP协议的报文格式; 2. 理解TCP报文段首部各字段的含义; 3. 理解TCP建立连接的三次握手机制; 4. 了解TCP的确认机制,了解TCP的流量控制和拥塞控制; 实验原理 连上in ternet的PC机,并且安装有协议分析软件Wireshark 实验原理及概况 TCP是因特网中最主要的运输层协议,它能够在两个应用程序章提供可靠的、有序的数据流传输,能够检测传输过程中分组是否丢失、失序和改变,并利用重传机制保证分组可 靠地传输到接收方; TCP首部格式如下图所示: 位U 3 16 24 31 首先是源端口和目的端口,服务器提供服务的端口号是固定的,比如:Web服务端口 号是80,而客户端的端口号是由操作系统随机分配一个用户端口号。TCP提供字节流服务, 它为分组中的每个字节编号,首部中的序号表示分组中第一个字节的编号。接收方用确认号 表示它期望接收的数据流中下一个字节编号,表明确认号之前的字节接收方都已经正确接收 了。数据偏移字段表示报文段的首部长度。标志部分包含6个标志位,ACK位表明确认号 字段是否有效;PUSH位表示发送端应用程序要求数据立即发送;SYN、FIN、RESET三位 用来建立连接和关闭连接;URG和紧急指针通常较少使用。接收端利用窗口字段通知发送 方它能够接收多大数据量。检验和字段是接收方用来检验接收的报文是否在传输过程中出

TCPIP协议分析实验报告

.. TCP/IP协议分析及应用实验报告 学号:姓名:班级: 实验项目编号: B03862704 实验项目名称:传输控制协议TCP 一、实验目的: 1. 掌握TCP协议的报文格式。 2. 掌握TCP连接的建立和释放过程。 3. 掌握TCP数据传输中编号与确认的过程。 4. 掌握TCP协议校验和的计算方法。 5. 理解TCP重传机制。 二、实验环境: Windows server 2003 TCP/IP协议分析及应用教学实验平台 三、实验原理(或要求): TCP报文格式 16位源端口号 16位目的端口号 位序号32 位确认序号32F P U A R S 4位首6保留(16I 位窗口大小 C 部长R S S Y 位)N N T G K H 度位紧急指针16位校验和16 选项数据 连接的建立TCP在面向连接的环境中,开始传输数据之前,在两个终 TCP是面 向连接的协议。通信双方必须用彼此的初端之间必须先建立一个连接。对于一个 要建立的连接,(指明希望收到的下一个ackseq始化序列号和来自对方成功传输 确认的应答号。ACK,应答信号写为八位组的编号)来同步,习惯上将同步信 号写为SYN整个同步的过程称为三次握手,如图: 优质范文.

连接的释放TCP附加标记的报FINTCP使用四次握手来结束通话(使用一个带有对于一个已经建立的连接,如图。文段) TCP重传机制只要计时器设置的重传时间到期,就对这个报文段设置一次计时器。TCP每发送一个报文段,但还没有收到确认,就要重传这一报文段。

优质范文. .. 四、实验步骤: 练习一:察看TCP连接的建立和释放 主机B、C、D启动协议分析器进行数据捕获,并设置过滤条件(提取TCP协议)。主机A启动仿真编辑器,进入TCP连接视图。在“服务器信息/IP地址”中填入主机C的IP地址;使用“端口扫描”获取主机C的TCP端口列表,在“服务器信息/端口”中填入主机C的一个TCP端口(大于1024);点击“连接”按钮进行连接。 察看主机B、C、D捕获的数据,填写下表。 字段名称报文1 报文2 报文3 Sequence Number Acknowledgement Number ACK SYN TCP连接建立时,前两个报文的首部都有一个“maximum segment size”字段,它的值是多少?作用是什么?结合IEEE802.3协议规定的以太网最大帧长度分析此数据是怎样得出的。 主机A断开与主机C的TCP连接。 察看主机B、C、D捕获的数据,填写下表。

TCPIP原理实验一

实验一链路层帧格式分析实验 1、实验目的 1)熟悉Packet Tracer和Wireshark的用法。 2)掌握EthernetV2 标准规定的MAC 帧结构,初步了解TCP/IP 的主要协议和协议的层次结构。 3)了解IEEE802.1Q 标准规定的帧结构。 2、实验设备和连接 实验设备和连接图如图1 所示,一台交换机连接了2 台PC 机,分别命名为PC1、PC2,交换机命名为Switch。 图1 Ethernet 链路层帧结构实验连接图 3、实验分组 每两人一小组,每小组各自独立完成实验。 4、实验步骤 步骤1:按照如图1 所示连接好设备,配置PC1 和PC2 的IP 地址; 步骤2:在:PC1 和PC2 上运行Wireshark 截获报文,为了只截获和实验内容有关的报文,将Wireshark 的Captrue Filter 设置为“No Broadcast and no Multicast ”; 步骤3:在: PC1 的“运行”对话框中输入命令“Ping 172.16.1.102”,单击“确定”按钮; 步骤4:停止截获报文:将结果保存为MAC-学号,并对截获的报文进行分析: 1)列出截获的报文中的协议类型,观察这些协议之间的关系。 ___________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ _______________________________________________________________________________ 2)在网络课程学习中,EthernetV2 规定以太网的MAC 层的报文格式分为7 字节的前导符、1 字节的帧首定界、6 字节的目的 MAC 地址、6 字节的源 MAC 地址、2 字节的类型、46~1500 字节的数据字段和4 字节的帧尾校验字段。分析一个Ethernet V2 帧,查看这个帧由几部分组成,缺少了哪几部分?为什么? ___________________________________________________________________________ _______________________________________________________________________________

TCP协议实验报告

T C P协议实验报告 Document serial number【UU89WT-UU98YT-UU8CB-UUUT-UUT108】

学生实验报告 姓名:学号:班级:指导老师: 内容摘要 该实验报告了TCP协议分析实验相关分析; TCP协议分析是通过Wireshark分析TCP协议的报文格式,如理解TCP报文段首部各字段的含义,理解TCP建立连接的三次握手机制,?了解TCP的确认机制,了解TCP的流量控制和拥塞控制 实验目的 1.通过协议分析软件掌握TCP协议的报文格式; 2.理解TCP报文段首部各字段的含义; 3.理解TCP建立连接的三次握手机制; 4.了解TCP的确认机制,了解TCP的流量控制和拥塞控制; 实验原理 连上internet的PC机,并且安装有协议分析软件Wireshark 实验原理及概况 TCP是因特网中最主要的运输层协议,它能够在两个应用程序章提供可靠的、有序的数据流传输,能够检测传输过程中分组是否丢失、失序和改变,并利用重传机制保证分组可靠地传输到接收方; TCP首部格式如下图所示:

首先是源端口和目的端口,服务器提供服务的端口号是固定的,比如:Web服务端口号是80,而客户端的端口号是由操作系统随机分配一个用户端口号。TCP提供字节流服务,它为分组中的每个字节编号,首部中的序号表示分组中第一个字节的编号。接收方用确认号表示它期望接收的数据流中下一个字节编号,表明确认号之前的字节接收方都已经正确接收了。数据偏移字段表示报文段的首部长度。标志部分包含6个标志位,ACK位表明确认号字段是否有效;PUSH位表示发送端应用程序要求数据立即发送;SYN、FIN、RESET三位用来建立连接和关闭连接;URG 和紧急指针通常较少使用。接收端利用窗口字段通知发送方它能够接收多大数据量。检验和字段是接收方用来检验接收的报文是否在传输过程中出错。 TCP重传机制:当发送方传输一个报文段的同时启动一个重传计时器,当该报文的确认到达时,这个计时器就会取消,如果这个计时器超时,那么数据将会被重传。TCP在重传之前,并不总是等待重传计时器超时,TCP也会把一系列重复确认的分组当作是数据丢失的先兆;

tcpip实验报告

《TCP/IP》实验报告 姓名: 学号: 学院: 专业: 班级: 指导老师:

2013年6月3日

实验一熟悉Linux编程环境 练习1:编写一个并发程序,利用fork函数创建五个进程,让每一个进程打印出可用来分辨不同进程的信息。 #include #include #include int main() { int pid, i; i = 0; while(i < 5) { i++; if((pid=fork()) == 0) { printf("pid:%d\n",getpid()); sleep(3); break; } waitpid(pid,(int*)0,0); printf("ppid:%d\n",getpid()); } return 0; } 运行结果:

练习2:编写一个程序,利用execve函数改变进程执行的代码。//execve.c #include #include #include int main(int argc,char *argv[]) { char *newargv[] = {NULL,"you","me",NULL}; char *newenviron[]={NULL}; if(argc != 2) { fprintf(stderr,"Usage:%s \n",argv[0]); exit(EXIT_FAILURE); } newargv[0] = argv[1]; execve(argv[1],newargv,newenviron); perror("execve"); exit(EXIT_FAILURE); } //myecho.c #include #include #include int main(int argc, char *argv[]) { int i; for(i = 0; i < argc; i++) printf("argv[%d]:%s\n",i,argv[i]); return 0; } 运行结果:

TCPUDP通信实验报告

TCP/UDP 通信实验报告 学号: :

实验二:TCP/UDP通信实验报告一、实验目的 熟练掌握UDP、TCP Client/Server 模式的通信原理。 二、实验容 传输控制协议(Transport Control Protocol)是一种面向连接的,可靠的传输层协议。面向连接是指一次正常的TCP 传输需要通过在TCP 客户端和TCP 服务端建立特定的虚电路连接来完成,该过程通常被称为“三次握手”。可靠性可以通过很多种方法来提供保证,在这里我们关心的是数据序列和确认。TCP 通过数据分段(Segment)中的序列号保证所有传输的数据可以在远端按照正常的次序进行重组,而且通过确认保证数据传输的完整性。要通过TCP 传输数据,必须在两端主机之间建立连接。举例说明,TCP 客户端需要和TCP 服务端建立连接,过程如图12-1 所示。 图12-1 TCP 客户端与服务端连接过程

①、第一步中,客户端向服务端提出连接请求。这时TCP SYN 标志置位。客户端告诉服务端序列号区域合法,需要检查。客户端在TCP 报头的序列号区中插入自己的ISN。服务端收到该TCP 分段后,在 ②、第二步以自己的ISN 回应(SYN 标志置位),同时确认收到客户端的第一个TCP 分段(ACK 标志置位)。 ③、在第三步中,客户端确认收到服务端的ISN(ACK 标志置位)。到此为止建立完整的TCP 连接,开始全双工模式的数据传输过程。 根据以上容编写一个TCP Client/Server 模式的通信程序。事实上网络程序是由两个部分组成的--客户端和服务器端。它们的建立步骤如下: 服务器端: socket-->bind-->listen-->accept 客户端: socket-->connect。 三、实验步骤 实验按下述步骤进行: (1)编写UDP、TCP Client/Server模式的通信程序; (2)调试并运行自己编写的实现程序; (3)了解TCP Client/Server模式的工作原理,比较二者的不同,如出现异常情况,在实验报告中写出原因分析;

实验二TCP_IP实用程序的使用实验报告资料

《TCP/IP实用程序的使用》 实 验 报 告 计科121 12171105景元合 2015.5.19

TCP/IP实用程序的使用 一、实验目的 1.使用Ping实用程序来测试计算机上的TCP/IP配置及测试本计算机与计算机的连接性能,确保可以在网络上通信; 2.使用Hostname实用程序来标识计算机的名称; 3.使用Ipconfig实用程序来验证计算机上的TCP/IP配置选项,包括MAC地址、IP地址、子网掩码和缺省网关等多项配置信息; 4.考察操作系统为Windows2000的计算机的TCP/IP配置。 二、实验设备及仪器 联网计算机一台 三、TCP/IP实用程序原理 TCP/IP协议组包括许多实用程序,它们允许用户访问网络上的信息。Microsoft的TCP/IP协议组提供了基本的TCP/IP实用程序,允许运行windows2000的计算机访问网络上广泛的信息。Windows2000包括三种类型的基于TCP/IP的实用程序:诊断工具、连接工具和基于服务器的软件。诊断实用程序包括Arp,Hostname,Ipcogfig,Ping,Tracfert等。 1. 诊断实用程序:诊断实用程序允许用户检测和解决网络中的问题。一些通用的诊断实用程序包括: Arp:该实用程序显示和修改地址解析协议(ARP)缓存。 Hostname:该实用程序显示计算机的名称。 Ipconfig:该实用程序显示和更新当前TCP/IP配置,包括IP地址。 Ping:该实用程序验证配置、测试两台计算机之间的IP连接。Ping从源计算机上发送ICMP 请求,目的计算机用一个ICMP回答作为回应。 Tracert:该实用程序跟踪数据包到达目的地的路径。 2. 通用实用程序示例:Hostname、Ipconfig和Ping是三个通用的TCP/IP实用程序。因为经常使用它们,因此应掌握它们的使用。 Hostname:使用该实用程序的语法为hostname。要访问该实用程序,在命令提示符下键入hostname,系统将显示出你的计算机的名称。 Ipconfig:使用该实用程序来验证而不是设置主机上的TCP/IP配置选项,包括IP地址、子网掩码和缺少网关。要开始Ipconfig实用程序,在命令行提示下键入Ipconfig。此时显示三个主要的配置参数的值。但使用这个实用程序,不能确定分配该IP地址使用的是静态的还是动态的方法。 Ipconfig/all:通过指定开关all,可以使用Ipconfig实用程序来获得更多的详细信息。要使用带有这个开关的Ipconfig实用程序,在命令行提示下键入Ipconfig/all。屏幕显示所有关于配置选项的信息。此时可以确定是否启用了DHCP。如果DHCP启用参数为是,并显示了DHCP 服务器的IP地址,则隐含该IP地址是使用DHCP获得的。DHCP服务器租借一条IP地址给一台客户机一段时间。标签Lease Obtained和Lease Expires分别显示何时获得租借及何时到期的信息。 Ping:测试连接的语法是Ping。要用IP地址或计算机名称来测试连接,键入Ping[IP地址或计算机名称]。要测试你的计算机的TCP/IP配置,可以使用本地回路。本地回路是IP地址为127.0.0.1。键Ping 127.0.0.1可使用本地回路测试系统配置。 四、实验任务、实验步骤及思考题 1. 使用Ping实用程序来测试计算机上的TCP/IP配置 登陆到Windows2000中。 单击开始,然后将鼠标指针移到程序上,再移到附件上,然后单击命令提示符。

相关主题
文本预览
相关文档 最新文档