在Linux上,可以根据创建它们的用户或组来过滤源自localhost的数据包,即谁拥有该套接字:
iptables ... -m owner --uid-owner $USER --gid-owner $GROUP -p tcp ...
但是我想从程序的角度来看它,在localhost上运行并用C语言编写,接收数据包:我绑定到某个端口,这里有一个新的TCP连接/ UDP数据包。如何找出谁发送的?
答案 0 :(得分:2)
奇怪的用例,但是嘿,也许这样的东西可以起作用 - 但它不是很漂亮:
accept
获取fstat
返回的fd的inode编号。/proc/self/net/tcp
答案 1 :(得分:1)
你做不到。您将获得远程IP地址和端口。就是这样。