Linux网络工具lsof和netstat

lsof全名为list opened files,即列举系统中已经被打开的文件,基本使用如下:

(1) 查看/etc/passwd使用情况

lsof /etc/password

(2) 查看监听的socket网络服务

lsof -i

其通用输出格式的几个字段的内容如下:

  • COMMAND 默认以9个字符长度显示的命令名称
  • PID 进程的ID号
  • USER 命令的执行UID或系统中登陆的用户名称
  • FD 该文件的文件描述符
  • TYPE 协议类型
  • DEVICE 使用Linux设备管理的设备号
  • SIZE 文件大小
  • NODE 本地文件的node号码
  • NAME 挂载点和文件的全路径,或者连接双方的地址和端口、状态等

(3) 查看某个网络连接

lsof -i@IP地址

(4) 显示指定PID已打开的文件的信息

lsof -p 4401

netstat命令用来显示活动的TCP连接、计算机监听的端口、以太网统计信息、IP路由表、IPv4和IPv6统计信息等。其基本使用格式如下:

netstat [-a] [-e] [-n] [-o] [-p Protocol] [-r] [-s] [Interval]

使用时如果不带参数,netstat则显示活动的TCP连接。

(1) 显示活动的TCP连接

netstat -p TCP

  • Proto 协议的名称
  • Local Address 本地计算机的IP地址和正在使用的端口号
  • Foreign Address 远程计算机的IP地址和端口号码
  • State 表示TCP连接的状态

(2)  显示以太网统计信息和所有协议的统计信息

netstat -e -s

(3) 仅显示TCP和UDP的统计信息

netstat -s -p tcp udp

原文地址:https://www.cnblogs.com/bldly1989/p/7078964.html