如何根据fd找到socket的inode

回复 收藏
如何根据fd找到socket的inode
今天看到这个帖子,但是用ruby来做的,根本不知所云

我看到网上有这样的描述
当你open 一个socket的时候,系统会返回一个文件描述符fd,如何找到其对应的fd呢?我们可以使用“netstat -tunp”查看在文件同录中打开的tcp以及udp连接的进程以及本地和远程的IP地址:

# netstat -taunp
Active Internet connections (only servers)
Proto Recv-QSend-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0. O . 0 . 0 :22 0.0.0.0 : * LISTEN 4024/sshd
......
tcp 0 0 :::22 : ::* LISTEN 4024/sshd



sshd所对应的PID是4024,然后在/proc目录下通过find命令就可以找到相应的fd。

# find /proc 2>/dev/null I grep "/4024/fd/1"
/proc/4024/task/4024/fd/1
/proc/4024/fd/1

但是找到fd之后,如何找到socket的inode,并知道这个tcp连接的建立时间等信息,不知道怎么做




2016-03-17 09:55 举报
已邀请:

回复帖子,请先登录注册

退出全屏模式 全屏模式 回复
评分
可选评分理由: