当前位置: 首页 > 面试题库 >

如何使用C在Linux中获取开放套接字列表?

郭逸清
2023-03-14
问题内容

有没有办法在用户空间或内核中使用C获取Linux中所有打开的套接字的列表(套接字地址或套接字描述符)?

谢谢


问题答案:

打开并阅读以下内容:

/proc/net/tcp -打开的TCP套接字列表

/proc/net/udp -打开的UDP套接字列表

/proc/net/raw -列出所有“原始”套接字

这些就像您使用文件句柄打开并读取的“常规”文件一样,它将为您提供所有可能需要的有关每个套接字的信息。



 类似资料:
  • 问题内容: (英语不是我的母语,不用担心某些句子是否很奇怪;)。 我正在开发 PONG游戏, 并且通过创建一些类来帮助我管理窗口,事件…和 网络, 因为我在游戏中添加了 LAN功能 ,但是当前您必须输入您想与之联系的人的地址。一起玩。解决此问题的方法是 广播(扫描播放器的LAN) 。对于ipv4来说这很容易,只需使用地址255.255.255.255,但是我们在2017年就提供了仅适用于ipv4的

  • 问题内容: 我知道使用urllib2来获取网页很容易,但是我想知道是否有使用套接字实现获取网页功能的示例,我在Google上搜索了很多,我没有在其中找到任何示例,请问有什么帮助吗? 问题答案: 这是我鞭打的东西。它不会捕获异常来处理错误。青年汽车

  • 问题内容: 如何在程序中不使用环境(getenv,…)的情况下获取实际的“用户名”? 问题答案: 中 定义的函数返回用户名。请参阅以获取更多信息。 它的签名是: 不用说,可以在C或C ++中轻松调用此函数。

  • 问题内容: 我想在Linux中使用C程序找到mac地址。怎么做? 问题答案: 通过Google搜索1分钟:(我自己尚未对其进行测试,此刻我正在Windows机器上工作)

  • 问题内容: 是否有API可以获取Linux中可用的CPU数量?我的意思是,不使用/ proc / cpuinfo或任何其他sys-node文件… 我发现使用sched.h实现: 但是,使用通用库是否还没有更高的层次? 问题答案: https://linux.die.net/man/3/get_nprocs

  • 问题内容: 我正在尝试获取当前已连接的所有套接字/客户端的列表。 不幸的是,它不返回数组。 我知道我可以使用数组保留自己的列表,但是由于以下两个原因,这并不是最佳解决方案: 冗余。Socket.IO已保留此列表的副本。 Socket.IO提供了为客户端(即:)设置任意字段值的方法,因此,如果我要维护自己的列表,则需要跟上这些更改。 救命? 问题答案: 在Socket.IO 0.7中,您在名称空间上