南京邮电大学通达学院
课程实验报告
题 目: IP网络中的TCP-UDP通信实验
学 院 通达学院
学 生 姓 名 王伟慧
班 级 学 号 10005002
指 导 教 师 王珺
开 课 学 院 通信与信息工程学院
日 期 2013.5
一,实验目的
了解局域网TCP消息通信过程的机制;
1,了解局域网UDP消息通信过程的特点;
2,熟悉最简单的Socket类的操作和使用;
3,实现字符串通信、文件(ASCII文件)传输、Socket局域网电话的实现;
二 实验设备及软件环境
答:一台或两台装有VC++的带有网卡的PC机(或工控机)。
三 实验步骤
内容一:基于TCP协议的Socket消息发送和接收
说明:事例程序包括“TCP聊天服务器” 与“TCP聊天客户端”。
1,运行示例程序“TCP聊天服务器”设置端口号:1001,
2,点击“服务器开启服务”
3,运行示例程序“TCP聊天客户端”,设置端口号一定要与“TCP聊天服务器”设置的一致。如果在同一台机器上运行,输入服务器IP地址:127.0.0.1,如果不在同一台机器上,输入局域网上服务器所在机器的IP地址(当然首先确保局域网通畅)
4,点击“连接”
在客户端输入文字消息,可以看到服务器端能显示出客户机的名称、IP地址、以及通过Socket消息发送过来的文字内容。
内容二,基于UDP的SOCKET消息
1,(必须是在两台机器上,说明书上示意为10.10.9.37和10.10.9.15两个IP地址)均运行程序“UDP客户端”,运行界面如图1.5,注意此时已经没有明确的“服务器”“客户端”之说,“服务器名”输入对端IP地址,端口号必须一致。
2,分别点击“打开端口”,连接上服务器后,可以互发消息
四.实验内容及实验结果
TCP通信
UDP通信
五.实验体会
实验过程中,虽然有很多的困难,但经过老师和同学的知道,最终都顺利解决了,实验之后,对TCP、UDP的通信连接有了更加深刻的认识,增长了有关通信技术方面的知识,对以后的学习生活,都会有很大的帮助。
六.思考题
3,如果现在要传送一个TXT文本,应如何实现,写出编程思路?
(1)打开文本 将内容读入 缓冲区
(2)与 另一台机器建立 socket连接
(3)发送
(4)另一台机器 保存接收到的内容
5,TCP本机通信时可以使用哪些IP地址来进行访问?
答:1.本机设定的IP
2. 环回地址,以127.开头的IP地址如127.0.0.1
6.TCP通信时如果服务器一方改变端口号,客户端应做怎样的处理?
答:因为客户端一般情况下不设置端口号,因此在调用SOCKET()创建套接口后,直接调用CONNECT()函数连接到目标主机,这中情况下客户端的端口是系统分配的,如果你想自己指定客户端的端口,那么就象服务端一样,在SOCKET()创建套接口后,调用一下BIND()函数绑定本机端口,然后再调用CONNECT()函数。
第二篇:南邮通信技术实验报告 实验二
南京邮电大学通达学院
课程实验报告
题 目: 基于Etheral的网络侦听实验
学 院 通达学院
学 生 姓 名 王伟慧
班 级 学 号 10005002
指 导 教 师 王珺
开 课 学 院 通信与信息工程学院
日 期 20##-6-3
一 实验目的
答:在本次试验中,我们主要是为了达到以下几个实验目的:
1、了解Etheral软件的安装和使用;
2、了解IPV4包的组成并与实例印证;
3、掌握如何使用Etheral软件抓取FTP服务器,WWW服务器,TCP服务器,UDP包的透明内容。
二 实验设备及软件环境
答:1、局域网上至少两台已经联网的计算机;
2、Etheral软件,以及所有实验二,实验三用过的软件包与应用程序;
3、文件包;
4、程序。
三 实验步骤
答:实验步骤如下:
(一)、实验内容一:
第一步:点击“Etheral”安装包内的“wiresharp-setup.exe”,安装结束后,千万不要重新启动。
第二步:启动:“开始”-“程序”—“wiresharp””—启动Etheral。
第三步:在菜单“Capture”,中找“Interface”。
第四步:选择本机IP地址栏目后面的“Start”,该软件开始捕捉IP网络上的数据包。
第五步:按选项菜单“Capture”的“Stop”结束本次捕捉,并保存本次捕捉的内容。
(二)、实验内容二:
第一步:重复实验一步骤一到步骤四。
第二步:在点击完“Start”之后,马上重新登录www.njupt.edu.cn,并观察这一瞬间Etheral是否捕捉新的IP包。
(三)、实验内容三:
第一步:重复实验一的步骤一到步骤四。
第二步:首先打开TCP聊天程序客户端,设置服务器地址为:10.108.222.62.设置端口为5000。
第三步:点击“发送”,进行信息之间的接受与传递。
第四步:使用Etheral进行抓包,并保存文件,命名为“TCP响应”。
(四)、实验内容四:
第一步:重复实验一步骤一到步骤四。
第二步:打开UDP通信客户端,设置对方服务器IP地址为10.108.222.61,设置服务器端口为5000。
第三步:在两台机器上运行UDP客户端,打开端口进行数据的接受与传递。第四步:使用Etheral 软件进行抓包,得到透明数据流,保存文件为“UDP响应”。
四.实验内容及实验结果
答:(一)、实验内容一的结果:
(二)、实验内容二的结果:
(三)、实验内容三的结果:
(四)、实验内容四的结果:
五.实验体会
在本次的小组实验操作过程中,我主要有以下两点的心得体会:经过本次实验的操做过程,对Etheral抓包软件、两台机器的TCP、UDP软件消息的接受与发送等过程具有了非常深刻的了解与应用,这对于拓宽我个人的知识面具有很大的启示作用,并且进一步增加了我对学习该课程的兴趣与热爱
六.思考题
(1)MAC包、IP包、TCP包(UDP包)、HTTP包(FTP包)的关系是怎样,画出框图
mac是二层,数据链路层,通常我们二层协议用以太网协议
ip是三层,网络层,通常是ip协议
tcp是四层,传输层,通常有tcp和udp协议
http属于应用层,是应用层协议
ip(网络层)必须是基于mac(数据链路层),同理tcp是基于ip,http是基于tcp
(2)如何使用软件分析一个IP包的版本号?长度Length?生命周期TTL?头校验?源地址?目的地址?
1、选择好捕包网卡,左连还有一些其它捕包条件供选择,如果当所选网卡不支持“杂项接收”功能,系统会提示相应信息,出现该情况时您将无法获取与本网卡无关的数据包,换言之,您无法获取其他电脑之间的通讯包,所以, 建议您更换网卡。 不支持“杂项接收”的网卡,多数为一部分无线网卡及少数专用服务器/笔记本网卡。 2、协议过滤 通常情况下,可不选,除非您对协议类型较为熟悉。 3、设置捕包缓冲 确省的捕包缓冲区大小为 1M,如果您的要追踪的网络规模较大,可适当调大该值;另外,如果追踪主机 CPU 处理能力不够,也需加大缓冲;否则,可能出现丢包的情况。 4、IP过滤 IP过滤里可以设置想要捕包的IP地址或是设置要排除的IP地址等信息。 5、端口过滤 端口过滤过滤里可以设置想要捕包的端口或是设置要排除过滤的端口等信息。 体验“捕包分析” 1、设置捕包过滤项 这里的过滤和“追踪任务”过滤设置是独立分开的,请不要混淆,其可选内容项更多。点按钮: 上述选项中,最为复杂的是“数据块匹配”部分,详细的介绍将在下面的章节部分出现,这里只需要配置好正确的网卡即可,其他选项可以不做任何设置。 2、开始捕获,点按钮。
(3)一个TCP包如何确知自己的数据段是HTTP包。
①传送HTTP报文前是否有TCP的三次握手;
②判断数据包中是否含有诸如“GET”、“HTTP/1.1”等关键字。
(4)已知一个IP包,如何知道该IP包的数据段是TCP包还是UDP包。
看IP包头中的协议字段,如果该字段数值为6就表示,里面的数据是TCP的。如果是17则表示是UDP的
(5)已知一个TCP包,分析其数据段(净荷)的组成结构是怎样的?UDP包的数据部分又是怎样结构?
TCP包:
源端口和目的端口字段——各占2字节。端口是传输层与应用层的服务接口。传输层的复用和分用功能都要通过端口才能实现。
序号字段——占4字节。TCP连接中传送的数据流中的每一个字节都编上一个序号。序号字段的值则指的是本报文段所发送的数据的第一个字节的序号。
确认号字段——占4字节,是期望收到对方的下一个报文段的数据的第一个字节的序号。
数据偏移——占4bit,它指出TCP报文段的数据起始处距离 CP报文段的起始处有多远。“数据偏移”的单位不是字节而是32bit字(4字节为计算单位)
保留字段——占6bit,保留为今后使用,但目前应置为0。
紧急比特URG——当URG=1时,表明紧急指针字段有效。它告诉系统此报文段中有紧急数据,应尽快传送(相当于高优先级的数据)。
确认比特ACK——只有当ACK=1时确认号字段才有效。当ACK=0时,确认号无效。
复位比特RST(Reset) —— 当RST=1时,表明TCP连接中出现严重差错(如由于主机崩溃或其他原因),必须释放连接,然后再重新建立运输连接。
同步比特SYN——同步比特SYN置为1,就表示这是一个连接请求或连接接受报文。
终止比特FIN(FINal)——用来释放一个连接。当FIN=1时,表明此报文段的发送端的数据已发送完毕,并要求释放运输连接。
窗口字段——占2字节。窗口字段用来控制对方发送的数据量,单位为字节。TCP连接的一端根据设置的缓存空间大小确定自己的接收窗口大小,然后通知对方以确定对方的发送窗口的上限。
检验和——占2字节。检验和字段检验的范围包括首部和数据这两部分。在计算检验和时,要在TCP报文段的前面加上12字节的伪首部。
紧急指针字段——占16bit。紧急指针指出在本报文段中的紧急数据的最后一个字节的序号。 选项字段——长度可变。TCP首部可以有多达40字节的可选信息,用于把附加信息传递给终点,或用来对齐其它选项。
填充字段——这是为了使整个首部长度是4字节的整数倍。
UDP包:
UDP信息包由UDP标题和数据组成。UDP的标题结构由5个域组成:源端端口、目的地端口、用户数据包的长度、和检查和,前4个域组成UDP标题,每个域由来个字节组成;检查和域占据2个字节,它有来检测过程中是否出现了错误;用户数据包的长度包括所有5个域的字节数。
(6)练习一下 sniffer 软件,回答一下 sniffer还有什么其它功能?
捕获网络流量进行详细分析 利用专家分析系统诊断问题 实时监控网络活动 收集网络利用率和错误等
(7)针对实验内容五,分析下FTP工作的过程是怎样的?
1. 主进程2.从属进程
主进程工作步骤如下
a,打开熟知端口,使客户进程能够链接上b,等待客户进程发送链接请求
c,启动从属进程来处理客户进程发来的请求,从属进程在运行期间还会创建一些子程序
d,回到等待状态
从属进程包括
a,控制进程 不用来传输文件b,数据传输进程 数据链接用来传输文件