就是使用netstat命令就可以了
只要本机上有与外界建立的socket链接,就一定能够通过netstat查到,并且知道端口与pid的对应关系
netstat -p | more
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 ecs-s6-small-1-li:46932 100.125.0.41:https ESTABLISHED 1343/hostguard
tcp 0 36 ecs-s6-small-1-linu:ssh 221-12-59-213.zjn:63776 ESTABLISHED 19466/sshd: root@pt
Active UNIX domain sockets (w/o servers)
Proto RefCnt Flags Type State I-Node PID/Program name Path
unix 3 [ ] DGRAM 13585 1/init /run/systemd/notify
unix 8 [ ] DGRAM 13607 1/init /run/systemd/journal/dev
-log
unix 6 [ ] DGRAM 13615 1/init /run/systemd/journal/soc
ket
unix 2 [ ] DGRAM 13747 1/init /run/systemd/journal/sys
log
unix 2 [ ] DGRAM 19261 897/chronyd /run/chrony/chronyd.sock
unix 3 [ ] STREAM CONNECTED 18574 701/python3
unix 3 [ ] STREAM CONNECTED 14528 419/systemd-udevd
unix 2 [ ] DGRAM 19246 897/chronyd
unix 3 [ ] STREAM CONNECTED 15149 1/init /run/systemd/journal/std
out
unix 3 [ ] STREAM CONNECTED 16066 1/init /run/systemd/journal/std
out
unix 3 [ ] STREAM CONNECTED 17386 720/dbus-daemon /var/run/dbus/system_bus
_socket
unix 2 [ ] DGRAM 25246 1/init
unix 3 [ ] STREAM CONNECTED 18282 725/wpa_supplicant
unix 2 [ ] DGRAM 16116 597/systemd-resolve
unix 3 [ ] STREAM CONNECTED 18283 720/dbus-daemon /var/run/dbus/system_bus
我们可以看到目前该机器有两个tcp链接,一个端口号是46932, 一个是ssh,ssh是作为服务器进程,所以是默认端口号22
还有外网地址与端口号,像https这种就是默认端口号
下边是domain socket是为了能够在本机进行socket通信,每个进程都绑定到某个文件上,然后就能够通过某种机制进行通信了,不过这个和本主题不相关
netstat相关参数说明
-a或--all 显示所有连线中的Socket。
-A<网络类型>或--<网络类型> 列出该网络类型连线中的相关地址。
-c或--continuous 持续列出网络状态。
-C或--cache 显示路由器配置的快取信息。
-e或--extend 显示网络其他相关信息。
-F或--fib 显示FIB。
-g或--groups 显示多重广播功能群组组员名单。
-h或--help 在线帮助。
-i或--interfaces 显示网络界面信息表单。
-l或--listening 显示监控中的服务器的Socket。
-M或--masquerade 显示伪装的网络连线。
-n或--numeric 直接使用IP地址,而不通过域名服务器。
-N或--netlink或--symbolic 显示网络硬件外围设备的符号连接名称。
-o或--timers 显示计时器。
-p或--programs 显示正在使用Socket的程序识别码和程序名称。
-r或--route 显示Routing Table。
-s或--statistics 显示网络工作信息统计表。
-t或--tcp 显示TCP传输协议的连线状况。
-u或--udp 显示UDP传输协议的连线状况。
-v或--verbose 显示指令执行过程。
-V或--version 显示版本信息。
-w或--raw 显示RAW传输协议的连线状况。
-x或--unix 此参数的效果和指定"-A unix"参数相同。
--ip或--inet 此参数的效果和指定"-A inet"参数相同。