2
有沒有辦法獲得它們關聯的tcp,udp連接和進程列表?在Linux中獲取TCP/UDP表
我通過使用「GetExtendedTcpTable()」和「GetExtendedUdpTable()」在Windows中做到了這一點,我想在Linux中實現同樣的事情。
有人可以幫忙嗎?
謝謝。
有沒有辦法獲得它們關聯的tcp,udp連接和進程列表?在Linux中獲取TCP/UDP表
我通過使用「GetExtendedTcpTable()」和「GetExtendedUdpTable()」在Windows中做到了這一點,我想在Linux中實現同樣的事情。
有人可以幫忙嗎?
謝謝。
你可以做這樣的東西:
#include <fstream>
#include <iostream>
int main()
{
std::ifstream tcp("/proc/net/tcp");
std::string line;
while(std::getline(tcp, line))
std::cout << line << '\n';
}
要發現什麼其他的名稱,可以試試這個在命令行:
ls -l /proc/net/
不知道該進程ID相關聯的最佳方式(PID )與套接字,但您可以交叉參考/proc/<pid>/fd
,其中<pid>
是實際數字,其中/proc/net/tcp
。
您可以嘗試閱讀['netstat' source](http://unix.stackexchange.com/questions/21503/source-code-of-netstat) – ForceBru
您可以使用SNMP來完成此操作。 – EJP
你有幫助。你爲什麼不接受答案? – hek2mgl