查询linux上套接字的TCP缓冲区大小

前端之家收集整理的这篇文章主要介绍了查询linux上套接字的TCP缓冲区大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法查找TCP套接字的发送/接收缓冲区大小?

我使用了netstat和ss,以及raw / proc / net / tcp.那里有很多好东西,包括飞行中的字节数,计时器,进程名称等.

但是我希望能够诊断一些程序是否设置了SO_ {SND,RCV} BUF ……更有趣的是内核实际上为每个SKB使用了什么值.

解决方法

lsof FAQ(搜索“为什么没有lsof报告套接字选项”),我相信Linux不会提供您可用的信息. (至少不通过/ proc)

如果是这样,你可以使用lsof -i< pid> -a -i tcp -T f,但-T只需要“qs”,而不是Linux上的f.您可以从netstat(netstat –tcp -p -o -e -e -v | grep< pid>)获取一些其他信息,其中包括发送队列和接收队列以及一些计时器信息.

你能做的就是使用strace.您必须通过strace(strace -ff -e network,ioctl PROGRAM)或在设置TCP套接字(strace -fff -e network,ioctl -p PID)之前运行程序. ioctl是如何设置这些选项的,网络应该足够了解它们是什么连接. (但只是ioctl然后使用lsof来确定连接应该在哪里工作)

猜你在找的Linux相关文章