日期:2014-05-16  浏览次数:20565 次

AIX主机如何判断SOCKET连接对方的是什么进程
A机器,启动SOCKET服务端
发现很多B机的SOCKET客户端连接上来

怎么通过系统命令知道,B机器是那些进程链接上这个端口

------解决方案--------------------
哪些进程 这个能知道么?

------解决方案--------------------
netstat可以知道一个连接的四元组:源IP,源端口,宿IP,宿端口,不知道你是不是这个意思
------解决方案--------------------
你的意思是 比如有来自B机器的请求连接A机器的22号端口 你想知道在B机器上是哪个进程来连接A机器的么?
------解决方案--------------------
问一下不就知道了。
C/C++ code

char   buf[1024];
ssize_t len;
const char *question = "你是什么进程?\r\n"
connfd = accept(listenfd, ...);
write(connfd, question, strlen(question));
len = read(connfd, buf, sizeof(buf));
if (len > 0) {
    buf[len] = '\0';
    printf("%s: %s\n", "对方进程", buf);
}

------解决方案--------------------
要是你自己写代码 当然可以像6楼说的 自己添加这个功能
可是要是这程序不是自己写的 还要修改源代码么?
------解决方案--------------------
探讨

汗一个。。。。。。。这也行

------解决方案--------------------
影响中是无解的,除非你连接使用的协议有规定,且客户端愿意告诉你。
------解决方案--------------------
从A机无法知道,只能去B机上察看