Go语言实现简易版netstat命令
netstat工作原理
netstat命令是linux系统中查看网络情况的一个命令。比如我们可以通过netstat -ntlp | grep 8080查看监听8080端口的进程。

netstat工作原理如下:
- 通过读取/proc/net/tcp 、/proc/net/tcp6文件,获取socket本地地址,本地端口,远程地址,远程端口,状态,inode等信息
- 接着扫描所有/proc/[pid]/fd目录下的的socket文件描述符,建立inode到进程pid映射
- 根据pid读取/proc/[pid]/cmdline文件,获取进程命令和启动参数
- 根据2,3步骤,即可以获得1中对应socket的相关进程信息