计算机网络-ICMP和ARP协议——沐雨先生

实验内容

  1. 改进实验5的TcpFileServer.java代码,使其能在Dos命令窗口执行;
  2. 改进实验5的TcpFileClient.java代码,使其能在Dos命令窗口执行;
  3. 利用Wireshark查看和分析ICMP消息;
  4. 利用Wireshark查看和分析ARP请求和响应。

基本要求

  1. 了解ICMP协议的作用及工作过程;
  2. 了解ARP协议的作用及工作过程;
  3. 学会使用Wireshark抓取并分析ICMP包;
  4. 学会使用Wireshark抓取并分析ARP包。

改进实验5的程序

在实验5中我们编写了两个建立在TCP上的Java应用程序,一个文件服务程序TcpFileServer.java,一个文件客户程序TcpFileClient.java。本实验要求改进这两个程序,使它们能在Dos命令窗口接收命令行参数运行,修改后的文件名分别是TcpFileServer2.java和TcpFileClient2.java。

实验步骤

第一部分 修改及运行server和client程序

  1. 打开NetBeans开发环境。在前面的实验中,我们曾在“D:\”盘下建立了一个Java Application项目,项目名称是javanetwork,项目所在文件夹是d:\javanetwork。本实验需要在此项目下建立一个名为demo.filetransfer2的包,在此包下建立Java应用程序TcpFileServer2.java和TcpFileClient2.java。
  2. 修改实验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两台主机一组。

  1. 进入Dos命令窗口,输入命令
    arp -d
    删除arp缓存。
  2. 打开Wireshark,选择接口(网卡)为以太网(或WLAN)。点击“捕获”->”选项”,不勾选“在所有接口上使用混杂模式”,点击“开始”按钮开始抓包。
  3. 在A主机Dos命令窗口运行TcpFileServer2。
  4. 在B主机Dos命令窗口运行TcpFileClient2。
  5. 程序运行结束后,停止Wireshark抓包。

第三部分 抓取ICMP包

  1. 打开Wireshark程序,开始抓包。
  2. 在主机Dos命令窗口输入命令
    tracert <一个有效域名或IP地址,例如192.168.1.100>
  3. 命令执行结束后,停止Wireshark抓包

相关推荐

  1. 计算机网络-ICMPARP协议——先生

    2024-04-09 12:32:03       39 阅读
  2. 计算机网络-文件读写——先生

    2024-04-09 12:32:03       35 阅读
  3. 计算机网络(6) ICMP协议

    2024-04-09 12:32:03       24 阅读
  4. 计算机网络层之ICMPIGMP

    2024-04-09 12:32:03       56 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-04-09 12:32:03       98 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-04-09 12:32:03       106 阅读
  3. 在Django里面运行非项目文件

    2024-04-09 12:32:03       87 阅读
  4. Python语言-面向对象

    2024-04-09 12:32:03       96 阅读

热门阅读

  1. Ubuntu22.04 安装 Supabase

    2024-04-09 12:32:03       35 阅读
  2. 【力扣】238. 除自身以外数组的乘积

    2024-04-09 12:32:03       42 阅读
  3. npm的一些经常使用的命令

    2024-04-09 12:32:03       38 阅读
  4. CSS变换

    CSS变换

    2024-04-09 12:32:03      33 阅读
  5. 7.网络编程-安全

    2024-04-09 12:32:03       36 阅读
  6. Ubuntu安装Opencv + opencv_contrib(v4.9.0)

    2024-04-09 12:32:03       37 阅读
  7. node.js常用命令

    2024-04-09 12:32:03       28 阅读