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`