> For the complete documentation index, see [llms.txt](https://fnil.gitbook.io/computer-networking/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://fnil.gitbook.io/computer-networking/fu-lu/chang-jian-wen-ti.md).

# 常见问题

## 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 有时会包含其他浏览器的名称，这是因为部分浏览器可以通过模拟其他浏览器的行为提高兼容性，因此浏览器会把自己能够模拟的所有浏览器都在请求中列出，方便服务器做出应答。大家可以参考这个[链接](https://cloud.tencent.com/developer/article/1758440)列出的情况。&#x20;
5. 问题6，选择内容较多的 http 分组，例如图片等，更容易观察到多个 TCP 拼合的现象。
6. 问题9，改用 https 之后抓不到相关分组是正常现象，本题意在让大家观察 http 和 https 的不同，以及 http 明文传输的安全隐患。

##
