测验:套接字与端口
我可以从服务器内部卷曲 localhost:8080,但无法从外部连接。 ss -ltn 显示 127.0.0.1:8080。原因是什么?
- 防火墙阻止了它
- 该套接字仅与环回地址绑定,不接收外部连接。
- 路由表不正确
- 这是一个 SELinux 策略问题。
侦听套接字中的 Recv-Q 仍然已满。这是什么意思?
- 等待接受的已完成连接正在累积。应用程序跟不上
- 内核接收缓冲区已满
- 待导出的数据继续堆积在传输队列中。
- 传入数据包丢失
CLOSE-WAIT 套接字不断堆积。为什么不通过内核参数来解决?
- 因为内核不管理CLOSE-WAIT
- 因为CLOSE-WAIT是对方服务器的状态。
- 这是因为我们没有调用 close(),所以它无限期地保持,没有超时。
- 因为和TIME-WAIT是同一个状态
有数以万计的TIME-WAIT。我们应该提高 fd 限制吗?
- 这是正确的。 fd 用于每个套接字
- 这是正确的。 TIME-WAIT使用两个fd
- 不。 TIME-WAIT 不是套接字
- 不。 TIME-WAIT 不会消耗 fd,因为套接字已经关闭。
我应该在 /proc/net/tcp 中搜索什么来查找端口 8080?
- 8080
- 0x8080
- :1F90
- 该端口不在该文件中