东南大学计算机网络第四次实验报告
网络课第四次上机实验报告

网络课第四次上机实验报告------TCP协议实验实验内容实验内容主要包括:①设计保存TCP 连接相关信息的数据结构(TCB);②TCP 协议的接收处理和封装发送;③TCP 协议提供的Socket 函数接口。
实验过程●设计保存TCP 连接相关信息的数据结构(TCB)用数据结构TCB为每一个TCP连接维护socketfd,srcAddr,dstAddr, srcPort, dstPort, seq, ack, windowSize, state这些状态信息。
以链表形式组织多个连接,nextTcb指向下一个连接的数据结构。
●TCP 分组接收函数stud_tcp_input( )首先,检查校验和;然后通过字节序转换获取相应的信息,检查序列号。
如果序列号不正确,则调用tcp_DiscardPkt;最后将报文交由输入有限状态机处理,有限状态机对报文进行处理,转换状态。
根据当前的状态并调用stud_tcp_output 函数完成tcp 建连、数据传递时返回ACK、tcp 断连等工作●TCP 分组发送函数stud_tcp_output ( )判断需要发送的报文类型,根据报的类型对包中的相应字段进行设置,判断是否可以发送(发送窗口不为0)。
构造TCP 数据报文并发送。
填写TCP 报文各字段的内容和数据,转换字节序,计算校验和,然后调用发送流程的下层接口函数sendIpPkt( )发送。
●stud_tcp_socket ( )函数分配相应的socketfd并且新建TCB表项,并对成员变量进行初始化●stud_tcp_connect ( )函数设定目的IPv4 地址和端口,源IPv4 地址和端口;初始化TCB 结构中的相关变量;设定TCB 中的输入状态为SYN-SENT,及其它相关变量,准备发送SYN 报文;调用发送流程的下层接口函数stud_tcp_output ( )发送SYN 报文(发送类型为PACKET_TYPE_SYN);等待“三次握手”完成后返回,建立连接成功;或者出错返回。
《网络攻防第四次作业》实验报告

《TCP/IP协议栈重点协议的攻击实验》实验报告一、实验目的:1)网络层攻击①IP源地址欺骗(Netwag 41)②ARP缓存欺骗(Netwag 33)③ICMP重定向攻击(Netwag 86)2)传输层攻击①SYN flood攻击(Netwag 76)②TCP RST攻击(Netwag 78)③TCP Ack攻击(Netwag 79)二、实验环境:操作系统:Windows10运行环境:校园网实验软件:netwag、wireshark三、实验步骤:1)IP源地址欺骗(Netwag 41):①打开Netwag软件找到41:首先打开Netwag软件,然后找到41:Spoof Ip4Icmp4 packet,点击进入。
②设置Ping数据包发送方*(源)IP地址,和接收方(目标)地址:③打开wireshark软件,开始抓包,然后点击Netwag的Generate 然后再点 Run it:先用原来的本机真实IP地址测试是否能抓到ping命令包,截图中显示可以正常抓包。
④把源IP地址改变为【192.168.110.119】然后Generate → Run it:从截图中可以发现抓到了ARP数据包,数据包内容为请求谁是【192.168.110.119】然后接下来就是ping命令的ICMP数据包。
并且发现发送给【5.6.7.8】的源IP变为【192.168.110.119】,成功欺骗目标ip为5.6.7.8的目标。
2)ARP缓存欺骗(Netwag 33):①找到Netwag中的33号,点击进入:首先打开Netwag软件,点击33号,进入配置界面,选择网卡为【Eth0】,源物理地址为【00:23:24:61:13:54】目标物理【00:23:24:61:2d:86】,发送ARP回复数据包,以及设置ARP数据包中,物理地址和ip地址,本机ip为【10.131.10.110】而这里伪装为【10.131.10.109】。
计算机网络实验报告(6篇)

计算机网络实验报告(6篇)计算机网络实验报告(通用6篇)计算机网络实验报告篇1一、实验目的1、熟悉微机的各个部件;2、掌握将各个部件组装成一台主机的方法和步骤;3、掌握每个部件的安装方法;4、了解微型计算机系统的基本配置;5、熟悉并掌握DOS操作系统的使用;6、掌握文件、目录、路径等概念;7、掌握常用虚拟机软件的安装和使用;8、熟悉并掌握虚拟机上WINDOWS操作系统的安装方法及使用;9、掌握使用启动U盘的制作和U盘安装windows操作系统的方法;10、了解WINDOWS操作系统的基本配置和优化方法。
二、实验内容1.将微机的各个部件组装成一台主机;2.调试机器,使其正常工作;3.了解计算机系统的基本配置。
4.安装及使用虚拟机软件;5.安装WINDOWS7操作系统;6.常用DOS命令的使用;7.学会制作启动U盘和使用方法;8.WINDOWS7的基本操作;9.操作系统的基本设置和优化。
三、实验步骤(参照实验指导书上的内容,结合实验过程中做的具体内容,完成此项内容的撰写)四、思考与总结(写实验的心得体会等)计算机网络实验报告篇2windows平台逻辑层数据恢复一、实验目的:通过运用软件R-Studio_5.0和winhe_对误格式化的硬盘或者其他设备进行数据恢复,通过实验了解windows平台逻辑层误格式化数据恢复原理,能够深入理解并掌握数据恢复软件的使用方法,并能熟练运用这些软件对存储设备设备进行数据恢复。
二、实验要求:运用软件R-Studio_5.0和winhe_对电脑磁盘或者自己的U盘中的删除的数据文件进行恢复,对各种文件进行多次尝试,音频文件、系统文件、文档文件等,对简单删除和格式化的磁盘文件分别恢复,并检查和验证恢复结果,分析两个软件的数据恢复功能差异与优势,进一步熟悉存储介质数据修复和恢复方法及过程,提高自身的对存储介质逻辑层恢复技能。
三、实验环境和设备:(1)Windows _P 或Windows 20__ Professional操作系统。
2024年计算机网络专业大学生实习报告(2篇)

2024年计算机网络专业大学生实习报告一、实习背景____年暑假,我作为一名计算机网络专业的大学生,有幸获得了一份计算机网络公司的实习机会。
这家公司专注于网络安全和网络架构方面的研发与服务,在业内拥有很高的知名度和声誉。
在这次实习中,我被分配到了网络研发部门,负责参与公司最新项目的开发和实施。
二、实习目标1.学习和掌握计算机网络领域的核心技术和知识;2.锻炼和提升自己的团队协作能力和沟通能力;3.深入了解网络安全和网络架构相关的工作流程和方法;4.了解企业实际工作环境,提升自己的实践能力。
三、实习内容和成果1.参与了公司新项目的需求分析和系统设计,对网络拓扑结构和技术方案有了更深入的了解;2.负责了项目中的一部分功能的具体实现和测试工作,采用了一些新的网络技术和协议;3.参与了公司安全团队的工作,对网络安全的风险评估和防护机制进行了研究和实践;4.和团队成员一起合作完成了一个小型网络应用的开发和部署,增强了自己的编程和调试能力;5.在实习期间,还参加了多次公司内部的培训和讲座,了解了更多关于网络架构和安全的知识。
四、实习收获和体会1.学习了很多实际工作中用到的技术和方法,对计算机网络的各个方面有了更深入的了解;2.锻炼了自己的解决问题和独立思考能力,在项目中遇到了许多困难和挑战,但通过不断努力和学习,最终都得以解决;3.通过和团队成员的合作和交流,提高了自己的团队协作能力和沟通能力;4.深入了解了网络安全的重要性和应对策略,在实践中学到了许多实用的防护方法;5.通过参与公司内部的培训和讲座,了解了更多关于网络架构和安全的前沿知识,拓宽了自己的视野;6.提高了自己的实践能力和应变能力,在实习期间解决了许多实际问题,积累了宝贵的经验。
五、对未来的展望通过这次实习,我对计算机网络的理论和实践有了更全面的认识和了解。
我深刻体会到了计算机网络在现代社会中的重要性和应用价值,也意识到了自己在这个领域的不足之处。
《计算机网络实验》实验报告

《计算机网络实验》实验报告一、实验目的计算机网络实验是计算机相关专业学习中的重要实践环节,通过实验操作,旨在深入理解计算机网络的基本原理、协议和技术,提高我们的动手能力和解决实际问题的能力。
具体目的包括:1、熟悉计算机网络的体系结构和各层协议的工作原理。
2、掌握网络设备的配置和管理方法,如交换机、路由器等。
3、学会使用网络工具进行网络性能测试和故障诊断。
4、培养团队合作精神和沟通能力,提高解决复杂问题的综合素养。
二、实验环境本次实验在学校的计算机网络实验室进行,实验室配备了以下设备和软件:1、计算机若干台,安装了 Windows 操作系统和相关网络工具软件。
2、交换机、路由器等网络设备。
3、网络线缆、跳线等连接设备。
三、实验内容及步骤实验一:以太网帧的捕获与分析1、打开网络协议分析软件 Wireshark。
2、将计算机连接到以太网中,启动捕获功能。
3、在网络中进行一些数据传输操作,如访问网站、发送文件等。
4、停止捕获,对捕获到的以太网帧进行分析,包括帧的格式、源地址、目的地址、类型字段等。
实验二:交换机的基本配置1、连接交换机和计算机,通过控制台端口进行配置。
2、设置交换机的主机名、管理密码。
3、划分 VLAN,并将端口分配到不同的 VLAN 中。
4、测试不同 VLAN 之间的通信情况。
实验三:路由器的基本配置1、连接路由器和计算机,通过控制台端口或Telnet 方式进行配置。
2、设置路由器的接口 IP 地址、子网掩码。
3、配置静态路由和动态路由协议(如 RIP 或 OSPF)。
4、测试网络的连通性。
实验四:网络性能测试1、使用 Ping 命令测试网络的延迟和丢包率。
2、利用 Tracert 命令跟踪数据包的传输路径。
3、使用网络带宽测试工具测试网络的带宽。
四、实验结果与分析实验一结果与分析通过对捕获到的以太网帧的分析,我们清楚地看到了帧的结构,包括前导码、目的地址、源地址、类型字段、数据字段和帧校验序列等。
计算机网络实验报告四

《计算机网络(II)》实验报告实验名称:传输控制协议(TCP)班级:120341A 姓名:黄帅学号:120341110 任课教师:崔鸿完成日期:2014/11/01 实验环境:Windows2003网络实验平台一、实验目的1. 掌握TCP协议的报文格式2. 掌握TCP连接的建立和释放过程3. 掌握TCP数据传输中编号与确认的过程4. 掌握TCP协议校验和的计算方法5. 理解TCP重传机制二、练习内容1.察看TCP连接的建立和释放主机A图1.主机A连接主机C截图主机B捕获的三次握手连接图2.三次握手图图3.主机B捕获的第一次握手截图图4. 主机B捕获的第二次握手截图主机B释放连接情况图图6.连接释放图图7.主机B捕获请求释放截图图8.主机B捕获应答截图1图9. 主机B捕获应答截图2图10.主机B捕获主机A确认截图利用协议编辑器编辑并发送TCP数据包本练习将主机A和B作为一组,主机C和D作为一组,主机E和F作为一组。
现仅以主机A、B所在组为例,其它组的操作参考主机A、B所在组的操作。
在本实验中由于TCP连接有超时时间的限制,故协议编辑器和协议分析器的两位同学要默契配合,某些步骤(如计算TCP校验和)要求熟练、迅速。
为了实现TCP三次握手过程的仿真,发送第一个连接请求帧之前,编辑端主机应该使用TCP屏蔽功能来防止系统干扰(否则计算机系统的网络会对该请求帧的应答帧发出拒绝响应)。
通过手工编辑TCP数据包实验,要求理解实现TCP连接建立、数据传输以及断开连接的全过程。
在编辑过程中注意体会TCP首部中的序列号和标志位的作用。
首先选择服务器主机上的一个进程作服务器进程,并向该服务器进程发送一个建立连接请求报文,对应答的确认报文和断开连接的报文也编辑发送。
其步骤如下:1. 主机B启动协议分析器捕获数据,设置过滤条件(提取HTTP协议)。
2. 主机A上启动协议编辑器,在界面初始状态下,程序会自动新建一个单帧,可以利用协议编辑器打开时默认的以太网帧进行编辑。
计算机网络原理实验四

云南大学软件学院实验报告课程:计算机网络原理实验任课教师:刘春花,刘宇姓名:学号:专业:成绩:实验四、web服务器套接字编程实验报告1.实验目的:编写一个WEB服务器程序,可以接受来自浏览器的访问,并传输页面(包含多个对象)到浏览器。
掌握Socket编程。
2.实验环境:连入局域网络的主机一台。
3.实验指导:超文本传输协议(HTTP)是位于TCP/IP 协议的应用层,是最广为人知的协议,也是互连网中最核心的协议之一。
HTTP协议是Web浏览器和Web服务器之间的应用层协议,是通用的、无状态的、面向对象的协议。
一个完整的HTTP协议会话过程包括四个步骤:✧连接Web浏览器与Web服务器建立连接,打开一个称为Socket(套接字)的虚拟文件,此文件的建立标志着连接建立成功;✧请求Web浏览器通过Socket向Web服务器提交请求。
HTTP的请求一般是GET或POST 命令(POST用于FORM参数的传递);✧应答Web浏览器提交请求后,通过HTTP协议传送给Web服务器。
Web服务器接到后,进行事务处理,处理结果又通过HTTP传回给Web浏览器,从而在Web浏览器上显示出所请求的页面;✧关闭连接应答结束后Web浏览器与Web服务器必须断开,以保证其它Web浏览器能够与Web 服务器建立连接。
4.实验分析,回答下列问题。
(1)运行实验提供的Webserver.java程序,分析该程序实现的功能,为实验程序主要代码加上注释。
import java.io.*;import .*;import java.util.*;引入类class Webserver{public static void main(String arg[]) throws Exception{String requestMessageLine;String filename; //定义所需的变量ServerSocket listenSocket=new ServerSocket(2222);//在端口号为2222中创建一个服务端socketSocket connectionSocket=listenSocket.accept(); //打开服务器端socketBufferedReader inFromClient=new BufferedReader(newInputStreamReader(connectionSocket.getInputStream()));//得到客户端输入流DataOutputStream outToClient=newDataOutputStream(connectionSocket.getOutputStream());//得到服务端输出流requestMessageLine=inFromClient.readLine();//读取客户端输入流的一行数据StringTokenizer tokenizerLine=new StringTokenizer(requestMessageLine);//字段串解析if(tokenizerLine.nextToken().equals("GET")){//如果客户端的请求方式为GET方式filename=tokenizerLine.nextToken();if(filename.startsWith("/")==true)filename=filename.substring(1);//获得文件名System.out.println("The request filename is:" + filename);File file=new File(filename);//新建文件int numOfBytes=(int)file.length();FileInputStream inFile=new FileInputStream(filename);//新建文件输入流byte[] fileInBytes=new byte[numOfBytes];inFile.read(fileInBytes);//将文件流信息读入byte数组outToClient.writeBytes("HTTP/1.0 200 Document Follows\r\n");//服务端输出信息if(filename.endsWith(".jpg"))//不同的文件类型所对应的头文件格式不同outToClient.writeBytes("Content-Type:image/jpeg\r\n");if(filename.endsWith(".gif"))outToClient.writeBytes("Content-Type:image/gif\r\n");outToClient.writeBytes("Content-Length:"+numOfBytes+"\r\n");outToClient.writeBytes("\r\n");outToClient.write(fileInBytes,0,numOfBytes);connectionSocket.close();关闭socket}else System.out.println("Bad Resquest Message");错误的请求方式}}改写程序:。
东南大学计算机与网络第四次实验祥解

东南大学自动化学院实验报告课程名称:信息通信网络概论第4次实验实验名称:设计协议院(系):自动化专业:自动化姓名:学号:实验室:金智楼实验组别:同组人员:实验时间:2013 年12 月23日评定成绩:审阅教师:目录一.实验目的和要求 (3)二.实验原理 (3)三.实验方案与实验步骤 (4)四.实验设备与器材配置 (5)五.实验记录 (5)六.实验总结 (9)七.思考题或讨论题 (9)一.实验目的和要求目的:1.设计简单的应用层协议,2.开发基于TCP/IP或UDP/IP的网络通信程序,实现数据传送和文件传输。
要求:1.正确理解应用层协议的概念;2.更深入了解客户/服务器模式的网络程序设计。
二.实验原理1. 应用层协议应用层协议的定义包括如下内容:(1)交换的报文类型,如请求报文和响应报文;(2)各种报文类型的语法,如报文中的各个字段公共详细描述;(3)字段的语义,即包含在字段中信息的含义;(4)进程何时、如何发送报文及对报文进行响应。
有些应用层协议是由RFC文档定义的,因此它们位于公共领域。
例如,web的应用层的协议HTTP(超文本传输协议,RFC 2616)就作为一个RFC供大家使用。
如果浏览器开发者遵从HTTP RFC规则,所开发出的浏览器就能访问任何遵从该文档标准的web,服务器并获取相应的web 页面。
还有很多别的应用层协议是专用的.不能随意应用于公共领域。
例如,很多现有的P2P 文件共享系统使用的是专用应用层协议。
目的,应用层协议主要有以下几种。
2)SOCKET编程服务器要创建一个用于侦听的套接字,为该套接字分配地址之后,调用listen()函数使它处于侦听状态;客户机在创建套接字完毕后,为套接字分配地址,然后调用connect()函数,请求与服务器套接字连接;服务器套接字在收到客户机的连接请示后,调用accept()函数,该函数创建一个用于连接的套接字。
应用该套接字和客户机上的连接套接字,用户就可以在服务器和客户机之间进行数据传输了。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
东南大学自动化学院实验报告课程名称:信息通信网络概论第4次实验实验名称:实验四﹑计算机网络通信应用程序设计院(系):自动化专业:自动化姓名:学号:实验室:金智楼实验组别:同组人员:实验时间: 2016 年 12 月 20 日评定成绩:审阅教师:目录(一)基于TCP/IP的计算机网络通信应用程序设计一.实验目的和要求 (3)二.实验原理··························································3三. 实验方案与实验步骤 (3)四.实验设备与器材配置 (4)五.实验记录··························································4 六.实验总结·························································11附录:部分代码(二)基于UDP/IP的计算机网络通信应用程序设计一.实验目的和要求 (17)二.实验原理························································17三. 实验方案与实验步骤 (17)四.实验设备与器材配置 (18)五.实验记录························································18六.实验总结························································25七.思考题或讨论题 (25)附录:部分代码(一)基于TCP/IP的计算机网络通信应用程序设计一.实验目的和要求1. 通过本实验课程的学习,使学生能够理解TCP协议通信的基本原理。
2.通过运用WinSock接口编写网络通信应用程序,掌握TCP网络应用程序架构的设计思想。
3.学会设计利用TCP简单的应用层协议。
二.实验原理TCP是面向连接的通信协议,TCP提供两台计算机之间的可靠无错的数据传输。
应用程序利用TCP进行通信时,源和目标之间会建立一个虚拟连接。
这个连接一但建立,两台计算机之间就可以把数据当作一个双向字节流进行交换。
三.实验方案与实验步骤1、客户机/服务器工作流程服务器端1:创建套接字并将套接字绑定到一个本地地址和端口上(create)。
2:将套接字设为监听模式,准备接受客户请求(listen)。
3:等待客户请求到来;请求到来后,接受请求,返回一个新的对应于此次连接的套接字(accept)。
4:用返回的套接字和客户端进行通信(send/receive)。
5:返回,等待另一客户请求。
6:关闭套接字。
客户端1:创建套接字(create)。
2:向服务器发出连接请求(connect)。
3:和服务器进行通信(send/receive)。
4:关闭套接字。
图客户机/服务器工作流程2、系统实现图系统实现过程四.实验设备与器材配置电脑、五.实验记录1、界面(1)选择:客户机、服务器;(2)输入:IP设置、端口设置、输入内容;(3)输出显示:消息列表、发送和接收消息数目;(4)按钮:连接/侦听、发送、清空、退出。
图界面设计2、功能描述(1)初始化:服务器点击侦听,客户机输入服务器IP后,点击连接实现服务器——客户机之间的连接通信。
在界面上显示连接信息,服务器向客户机发送Welcome my friend!,客户机向服务器发送I am Paul。
图初始化(2)客户机与服务器对话:服务器显示Server:+发送的消息,客户机显示Paul:+发送的信息。
图客户机与服务器对话(3)输入/n在聊天对话框画一个牛,输入/p画一个电话图输入/p画一个电话图输入/n画一个电话(4)输入/l会弹出一个对话框图输入/l弹出一个对话框(5)输入/r会打开一个windows资源管理器,并打开指定的路径,当前设置的路径为:C:/windows/media图输入/r打开一个windows资源管理器3、改进(1)获取发送方主机名和发送时间通过函数gethostname(hostname,sizeof(hostname))通过函数time()、localtime()获得当前系统时间,能够显示发送接收时间,格式为年/月/日时/分/秒,添加到接收信息列表中信息首部。
图获取主机名、添加发送时间(2)自定义字符画:定义字符串TP_xin_str,输入/x时调用绘制一个小象图自定义字符画(3)自定义表情符号:输入/s时输出"难过(╥﹏╥)",输入/a时输出"生气(▼皿▼#)",输入/j时输出"惊讶(⊙o⊙)"等。
图自定义表情符号(4)显示发送、接收消息总数通过()函数实现对列表中发送和接收到的信息计数,并显示在界面上。
初始化时,发送数和接收数均为1,清空列表后,相应的重置为0。
(5)清空列表通过函数()实现清空列表。
(6)添加背景图片、改变控件背景色、字体等。
上传bmp图片到Bitmap资源文件夹中,在OnPaint()中添加代码,通过不同图片的ID来设置不同的背景图片。
通过加入WM_CTLCOLOR消息,自动生成OnCtlColor()函数,利用SetBkMode()、SetTextColor()、SetBkColor()、CreateSolidBrush()、SetFont()等函数设置背景格式、改变控件背景色和字体大小颜色等。
图其他功能六.实验总结这次实验与实验三较为相似,在上次的基础上,增加了自定义字符画、符号表情等,进一步加深了对TCP/IP协议的理解,也能够根据生活中的聊天工具如QQ等,增加一些类似的功能,使其应用性更强。
附录:(部分代码)1、获取对方主机信息添加发送接收时间(客户端和服务器类似,在此只贴出服务器代码)void CProject2Dlg::OnServerReceive(){CString mDay;CString mTime;CString ttime;time_t t1;t1 = time(NULL); ) "," / \\__ __/ "," /| (\\ |( "," ^ \\ /___\\ /\\ | "," |__| |__|-“"};int TP_xin_int=7;for(int i=0;i<TP_xin_int;i++){(TP_xin_str[i]);}}2、自定义表情符号switch(1)){case'm':ShellExecute(NULL,NULL,"老人与海.mp3","",NULL,SW_SHOWMAXIMIZED );return TRUE;case 'q':AfxMessageBox("Quit");return TRUE;case 'l':AfxMessageBox("开心(*^ω^*)");return TRUE;case 's':AfxMessageBox("难过(╥﹏╥)");return TRUE;case 'a':AfxMessageBox("生气(▼皿▼#)");return TRUE;case 'j':AfxMessageBox("惊讶(⊙o⊙)");return TRUE;case 'c':AfxMessageBox("Circle OoOoOo");return TRUE;case 'r':建套接字并将套接字绑定到一个本地地址和端口上(create);2.等待接收数据(ReceiveFrom);3.关闭套接字。