Computer Network
  • 实验
    • 计算机网络(H)实验课简介
    • Lab 1:使用Wireshark观察分组
    • Lab 2:应用层协议模拟与观察
    • Lab 3:Socket编程
    • Lab 4:基于UDP的可靠传输
    • Lab 5:网络层数据平面观察实验
    • Lab 6:网络层路由协议模拟与观察
    • Lab 7:网络层控制平面流表下发
    • Lab 8:链路层观察
  • 附录
    • 附录A:Wireshark 教程
    • 常见问题
Powered by GitBook
On this page
  • Lab 4
  • Lab 2
  • Lab 1
  1. 附录

常见问题

Previous附录A:Wireshark 教程

Last updated 6 months ago

Lab 4

  1. tc 报错 Cannot find device "ens33":这里的 ens33 要替换为通过 ip a 查到的自己的电脑上状态为 UP 的网络接口,如 eth0 等等,ens33 只是助教电脑上的示例。

  2. tc 报错 Specified qdisc kind is unknown:由于 netem 是 Linux 内核的一部分,而 WSL 上的 Linux 内核是不完整的,所以本实验无法用 WSL 完成,必须使用 Linux 虚拟机。当然也可以使用 Linux 物理机或其他 Linux 服务器,但我们课程提供的服务器,由于同学们的账户没有 root 权限不能 sudo,无法用来完成模拟部分的实验。另外使用 Linux 服务器远程连接,网络上本身就可能发生丢包,会干扰模拟测试结果,因此强烈建议使用虚拟机。

  3. scp 报错 ssh: Could not resolve hostname c: Name or service not known:首先注意 scp 应该直接在 Windows 环境下执行,它的作用是把文件直接传输到远程服务器,如果在 ssh 登陆后再 scp,相当于从远程服务器再远程连接到远程服务器,肯定会报错。如果执行的环境没问题,请检查用户名或服务器 IP。

  4. ssh 登录时报错 Permission denied(publickey,password):一般是因为密码错误,请检查自己的密码是否正确,如果实在想不起来密码可以找助教重置密码。

Lab 2

  1. 若在执行 dig 时遇到connection timed out问题,首先通过ping www.baidu.com 指令检查是否联网。若网络连接正常,可考虑手动编辑 DNS 服务器,具体做法为:通过sudo vim /etc/resolv.conf指令打开 DNS 配置文件,在下方增加 nameserver 8.8.8.8、nameserver 127.0.0.1 等 DNS 服务器地址,保存退出后尝试重新执行 dig 指令。注意由于该文件默认是禁止编辑的,重启后会回退到之前版本。另外, Wireshark 抓取的 DNS 包也可以成为你排查问题的线索。

Lab 1

  1. 问题1要求的5种协议是指捕获的分组中任选5种协议,不一定要和访问复旦信息办网站相关。这个问题希望让同学们观察到,除了我们主动发起的 http 等请求,计算机也在时刻使用其他网络服务,并且网络中存在大量背景流。

  2. 问题2请求与应答的对应关系,可以借助分组列表左侧的虚线箭头或追踪流确认。

  3. 问题3的IP地址,既可以是点分隔的4组3位10进制数的 IPv4 格式,也可以是冒号分隔的8组4位16进制数的 IPv6 格式。使用哪一版本的 IP 协议可能与电脑设置、访问网站情况、所处网络环境等多个因素有关,不必过于纠结。

  4. 问题4抓取到分组的 User-gent 有时会包含其他浏览器的名称,这是因为部分浏览器可以通过模拟其他浏览器的行为提高兼容性,因此浏览器会把自己能够模拟的所有浏览器都在请求中列出,方便服务器做出应答。大家可以参考这个列出的情况。

  5. 问题6,选择内容较多的 http 分组,例如图片等,更容易观察到多个 TCP 拼合的现象。

  6. 问题9,改用 https 之后抓不到相关分组是正常现象,本题意在让大家观察 http 和 https 的不同,以及 http 明文传输的安全隐患。

链接