gpt4 book ai didi

c - Linux中使用C获取inode的远程IP

转载 作者:行者123 更新时间:2023-11-30 14:32:24 27 4
gpt4 key购买 nike

例如我的 /proc/net/tcp 包含:

  sl  local_address rem_address   st tx_queue rx_queue tr tm->when retrnsmt   uid  timeout inode                                                                         
2: 0900000A:91E4 0101B85D:0050 01 00000000:00000000 02:00000039 00000000 1000 0 75205 2 0000000000000000 26 4 30 10 -1

因此inode = 75205,与IP 93.184.1.1通信。

如何在 C 中获取此 IP(远程地址)?

我知道我可以按空格分割并手动解析上面的内容,但这看起来是个坏主意,有没有更聪明的方法?

最佳答案

不幸的是,没有其他方法可以从用户空间程序获取此类信息。只有内核知道该信息,并且它准确地提供该文件以使该信息可供用户空间使用。

如果您take a look at the source code使用 ss(又名“socketstat”)等工具,您会发现它们也会查询 /proc/net/* 中的文件来获取有关打开套接字的信息。

关于c - Linux中使用C获取inode的远程IP,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59827484/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com