我需要找出正在执行的客户端程序在打开到服务器的 TCP 连接时设置的套接字选项。客户端在 Linux 上运行。它在 /proc/tcp
下可用吗?
最佳答案
我也需要这样做。
lsof
没有多大帮助,因为 tcp 选项没有按照标准在 /proc/
中公开。
我使用了这个内核模块 https://github.com/veithen/knetstat 我在这里也修改了它以与旧内核版本一起使用: https://github.com/abligh/knetstat
这让您可以:
# cat /proc/net/tcpstat | head
Recv-Q Send-Q Local Address Foreign Address Stat Diag Options
0 0 0.0.0.0:16013 0.0.0.0:* LSTN SO_REUSEADDR=0,SO_KEEPALIVE=0,TCP_NODELAY=0
0 0 127.0.0.1:25 0.0.0.0:* LSTN SO_REUSEADDR=1,SO_KEEPALIVE=1,TCP_NODELAY=0
0 0 0.0.0.0:111 0.0.0.0:* LSTN SO_REUSEADDR=1,SO_KEEPALIVE=0,TCP_NODELAY=0
0 0 0.0.0.0:4643 0.0.0.0:* LSTN SO_REUSEADDR=1,SO_KEEPALIVE=0,TCP_NODELAY=0
0 0 127.0.0.1:753 0.0.0.0:* LSTN SO_REUSEADDR=1,SO_KEEPALIVE=0,TCP_NODELAY=0
0 0 127.0.0.1:113 0.0.0.0:* LSTN SO_REUSEADDR=1,SO_KEEPALIVE=0,TCP_NODELAY=0
0 0 127.0.0.1:754 0.0.0.0:* LSTN SO_REUSEADDR=1,SO_KEEPALIVE=0,TCP_NODELAY=0
0 0 127.0.0.1:1234 0.0.0.0:* LSTN SO_REUSEADDR=1,SO_KEEPALIVE=0,TCP_NODELAY=0
0 0 0.0.0.0:53618 0.0.0.0:* LSTN SO_REUSEADDR=0,SO_KEEPALIVE=0,TCP_NODELAY=0
关于linux - 在 Linux 中查找由可执行程序设置的套接字选项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8014151/