linux - 在 Linux 中查找由可执行程序设置的套接字选项

标签 linux

我需要找出正在执行的客户端程序在打开到服务器的 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/

相关文章:

Linux : mail multiple files returned from grep

linux - 从服务器上的用户运行不受信任的可执行文件的最佳方法

linux - 针对交叉编译器问题编译 GMP

Desktop.open(file)、Desktop.browse(uri) 上的 JavaFX 卡住

linux - 增加 R 允许的连接数

java - 线程 "main"java.lang.UnsatisfiedLinkError : undefined symbol: Test 中的异常

linux - 从 shell 脚本启动时使 redis 服务器忽略 Ctrl+C

linux - 使用 make 命令中缀到后缀的转换

linux - 编译后无法识别 gcc 7.1 参数

regex - 从行中提取可选字段值