常见问题
Lab 4
tc 报错 Cannot find device "ens33":这里的 ens33 要替换为通过 ip a 查到的自己的电脑上状态为 UP 的网络接口,如 eth0 等等,ens33 只是助教电脑上的示例。
tc 报错 Specified qdisc kind is unknown:由于 netem 是 Linux 内核的一部分,而 WSL 上的 Linux 内核是不完整的,所以本实验无法用 WSL 完成,必须使用 Linux 虚拟机。当然也可以使用 Linux 物理机或其他 Linux 服务器,但我们课程提供的服务器,由于同学们的账户没有 root 权限不能 sudo,无法用来完成模拟部分的实验。另外使用 Linux 服务器远程连接,网络上本身就可能发生丢包,会干扰模拟测试结果,因此强烈建议使用虚拟机。
scp 报错 ssh: Could not resolve hostname c: Name or service not known:首先注意 scp 应该直接在 Windows 环境下执行,它的作用是把文件直接传输到远程服务器,如果在 ssh 登陆后再 scp,相当于从远程服务器再远程连接到远程服务器,肯定会报错。如果执行的环境没问题,请检查用户名或服务器 IP。
ssh 登录时报错 Permission denied(publickey,password):一般是因为密码错误,请检查自己的密码是否正确,如果实在想不起来密码可以找助教重置密码。
Lab 2
若在执行 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要求的5种协议是指捕获的分组中任选5种协议,不一定要和访问复旦信息办网站相关。这个问题希望让同学们观察到,除了我们主动发起的 http 等请求,计算机也在时刻使用其他网络服务,并且网络中存在大量背景流。
问题2请求与应答的对应关系,可以借助分组列表左侧的虚线箭头或追踪流确认。
问题3的IP地址,既可以是点分隔的4组3位10进制数的 IPv4 格式,也可以是冒号分隔的8组4位16进制数的 IPv6 格式。使用哪一版本的 IP 协议可能与电脑设置、访问网站情况、所处网络环境等多个因素有关,不必过于纠结。
问题4抓取到分组的 User-gent 有时会包含其他浏览器的名称,这是因为部分浏览器可以通过模拟其他浏览器的行为提高兼容性,因此浏览器会把自己能够模拟的所有浏览器都在请求中列出,方便服务器做出应答。大家可以参考这个链接列出的情况。
问题6,选择内容较多的 http 分组,例如图片等,更容易观察到多个 TCP 拼合的现象。
问题9,改用 https 之后抓不到相关分组是正常现象,本题意在让大家观察 http 和 https 的不同,以及 http 明文传输的安全隐患。
Last updated