lsof

New

https://zhuanlan.zhihu.com/p/450234442

获取网络信息

使用-i显示所有连接

有些人喜欢用netstat来获取网络连接,但是我更喜欢使用lsof来进行此项工作。结果以对我来说很直观的方式呈现,我仅仅只需改变我的语法,就可以通过同样的命令来获取更多信息。

语法: lsof -i[46] [protocol][@hostname|hostaddr][:service|port]

# 显示所有连接
lsof -i
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java      3068 huya   11u  IPv6  68707      0t0  TCP localhost:63342 (LISTEN)
java      3068 huya   32u  IPv6  68165      0t0  TCP localhost:6942 (LISTEN)
adb     138250 huya    6u  IPv4 485850      0t0  TCP localhost:5037 (LISTEN)


# 使用-i 6仅获取IPv6流量
lsof  -i 6

# 仅显示TCP连接(同理可获得UDP连接)
lsof -iTCP

# 使用-i:port来显示与指定端口相关的网络信息
lsof -i:端口号

# 使用@host来显示指定到指定主机的连接
lsof  -i@172.16.12.5

# 使用@host:port显示基于主机与端口的连接
lsof  -i@172.16.12.5:22

# 找出正等候连接的端口
lsof -i -sTCP:LISTEN
COMMAND    PID USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
java      3068 huya   11u  IPv6  68707      0t0  TCP localhost:63342 (LISTEN)
java      3068 huya   32u  IPv6  68165      0t0  TCP localhost:6942 (LISTEN)
adb     138250 huya    6u  IPv4 485850      0t0  TCP localhost:5037 (LISTEN)

# 杀死指定用户所做的一切事情
kill  -9  `lsof -t -u huya`

   转载规则


《lsof》 锦泉 采用 知识共享署名 4.0 国际许可协议 进行许可。
  目录