我正在制作需要在c ++中获得活动TCP / UDP连接的程序? 。我知道我可以通过使用IP Helper API在Windows上完成它,但我想知道如何在C ++中获取活动连接但在Linux上。是使用 popen()功能和 netstat 命令选择好还是什么?抱歉英文不好:)
答案 0 :(得分:1)
您可以阅读以下文件:
这些文件的内容是以下类型的文本:
sl local_address rem_address st tx_queue rx_queue tr tm->when retrnsmt uid timeout inode
0: 00000000:5AA0 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 237373 1 cf0bc900 100 0 0 10 -1
1: 00000000:5AA1 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 237409 1 cf0be880 100 0 0 10 -1
2: 00000000:5AA2 00000000:0000 0A 00000000:00000000 00:00000000 00000000 0 0 237435 1 cf0bdf80 100 0 0 10 -1
手册页proc(5)
提供了更多信息。
答案 1 :(得分:0)
要获取活动连接的数量,连接尝试失败,收到的段数,发送的段数等等,可以使用netstat
$ netstat -st
netstat反过来从/ proc / net / snmp获取此信息。如果您不能依赖DUT上的netstat,则可以以编程方式从/ proc / net / snmp中读取值。