文章目錄
  1. 1. 场景
  2. 2. 解决方案

场景

linux下查看开放的端口,其实只需要一个命令就可以了。netstat -atnp

但是在不少物联网网设备上,采用busybox,netstat没有p参数。或者干脆没有netstat命令。

解决方案

1,第一个想法是是否可以下载一个带p参数的netstat命令使用。
2,fuser命令 发现这个场景下fuser可能 返回空。。

3,使用/proc/net/tcp中的信息。这个文件之前在http一个任意文件读取漏洞分析 中讲过。

查看 /proc/net/tcp 获取端口对应的inode号,端口为16进制,比如端口17998 对应0x464E

cat /proc/net/tcp | grep 464E

6: C0A80101:464E 00000000:0000 0A 00000000:00000000 00:00000000 00000000     0        0 3956 1 8b7df330 99 0 0 10 -1

获得对应的inode号为3956

for dir in `find /proc/ -name "fd"`; do ls -l $dir | grep 'socket\:\[3956' && echo $dir;done  

获得对应的进程为3304

文章目錄
  1. 1. 场景
  2. 2. 解决方案