本文主要是介绍计算机网络-ICMP和ARP协议——沐雨先生,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
实验内容
- 改进实验5的TcpFileServer.java代码,使其能在Dos命令窗口执行;
- 改进实验5的TcpFileClient.java代码,使其能在Dos命令窗口执行;
- 利用Wireshark查看和分析ICMP消息;
- 利用Wireshark查看和分析ARP请求和响应。
基本要求
- 了解ICMP协议的作用及工作过程;
- 了解ARP协议的作用及工作过程;
- 学会使用Wireshark抓取并分析ICMP包;
- 学会使用Wireshark抓取并分析ARP包。
改进实验5的程序
在实验5中我们编写了两个建立在TCP上的Java应用程序,一个文件服务程序TcpFileServer.java,一个文件客户程序TcpFileClient.java。本实验要求改进这两个程序,使它们能在Dos命令窗口接收命令行参数运行,修改后的文件名分别是TcpFileServer2.java和TcpFileClient2.java。
实验步骤
第一部分 修改及运行server和client程序
- 打开NetBeans开发环境。在前面的实验中,我们曾在“D:\”盘下建立了一个Java Application项目,项目名称是javanetwork,项目所在文件夹是d:\javanetwork。本实验需要在此项目下建立一个名为demo.filetransfer2的包,在此包下建立Java应用程序TcpFileServer2.java和TcpFileClient2.java。
- 修改实验5的TcpFileServer.java,使其可以在Dos命令窗口运行,修改后的文件名是TcpFileServer2.java。下面是一个运行示例:
进入文件夹d:\javanetwork\build\classes,运行TcpFileServer2后,server等待客户请求。运行TcpFileServer2的命令是
java demo.filetransfer2.TcpFileServer2 <serverIP地址> <server端口号>,如下图所示:
打开另一个Dos命令窗口,进入文件夹d:\javanetwork\build\classes,运行TcpFileClient2,向server发送文件请求。运行TcpFileClient2的命令是
java demo.filetransfer2.TcpFileClient2 <目的IP> <目的端口号> <请求的文件名> <本地目的文件名>,如下图所示:
此时server端的Dos命令窗口应显示类似如下信息
如果server或client在运行时输入的参数个数不正确,则程序应显示提示信息并退出。
第二部分 抓取ARP包
A,B两台主机一组。
- 进入Dos命令窗口,输入命令
arp -d
删除arp缓存。 - 打开Wireshark,选择接口(网卡)为以太网(或WLAN)。点击“捕获”->”选项”,不勾选“在所有接口上使用混杂模式”,点击“开始”按钮开始抓包。
- 在A主机Dos命令窗口运行TcpFileServer2。
- 在B主机Dos命令窗口运行TcpFileClient2。
- 程序运行结束后,停止Wireshark抓包。
第三部分 抓取ICMP包
- 打开Wireshark程序,开始抓包。
- 在主机Dos命令窗口输入命令
tracert <一个有效域名或IP地址,例如192.168.1.100> - 命令执行结束后,停止Wireshark抓包
这篇关于计算机网络-ICMP和ARP协议——沐雨先生的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!