netstat详解

netstat命令

 netstat,用来打印网络上的连接,路由表,接口信息,伪连接和多播成员信息

用法摘要

netstat -t | -u | -w  | -l | -a | -n  |  -o  |  -p   | - N |  -h 等 

详解

 netstat打印出linux'下网络子系统的信息。信息类型由给定的第一个参数控制
 1. (none)
  在无参数的情况下,netstat显示所有打开的套接字
 2. --route r
  显示内核路由表
 3. --groups -g
  显示IPv4和IPv6的多播组成员信息
 4. --interfacs -i
  显示所有网络接口的信息
 5. --masquerade -m
 显示多播连接
 6. --statistics -s
  显示每一种协议的统计信息

选项

 -verbose -v
   告诉用户哪些数据可能是冗余数据,尤其会打印出一些关于未配置地址家族的信息
 --numeric -n
  显示用数字表示的地址
 --numeric-hosts
 用数字显示主机地址,但不影响端口或用户名的解析
 --numeric-ports
 用数字表示端口号,但不影响主机或用户名的解析
 --numeric-users
 用数字表示用户的ID
 --protocol=family, -A
 指定地址家族,family用逗号分开,如inet, unix, ipx, ax25, nettrom 和ddp;这些和以下的用法等同: --inet,--unix(-x), --ipx,,--ax25, --netrom, --ddp 
-c  , --continuous
 每个一秒持续打印出指定选项的信息
-e , --extend
 显示额外的信息,这个最多只能同时用两次
-o , --timers
 包括与网络定时器相关的信息
-p, --program
 显示PID,每一个套接字程序的名字
-l, --listening
 显示只处于监听状态的套接字
 -a, -all
 显示listening 获得 non-listening 的套接字,带上 --interfaces选项,可以显示不活跃的接口
-F
 根据FIB打印出路由信息
-C
从路由缓存中打印处路由信息      

输出解释

Active Internet connections (TCP, UDP, raw)
Proto
  套接字使用的协议(TCP, UDP, RAW)
Recv-Q
没有从套接字用户程序复制的字节数
Send-Q
远程主机没确认的字节数
 Local Address 
 主机后面地址与端口号,如zyw.local:55466
 Foreign Address
 远程套接字的地址和端口号
State
 套接字状态(11个):ESTABISHED, SYN_SENT, SYN_RECV, FIN_WAIT1, FIN_WAIT2, TIME_WAIT, CLOSE, CLOSE_WAIT, LAST_ACK, LISTEN, CLOSING, 
User
套接字拥有者的用户名或用户ID
PID/Program name
PID和拥有套接字的进程名,用/分开
Timer
定时器信息

Active UNIX domain Sockets
Proto
 uinx使用的套接字的协议

 Flags
 SO_ACCEPTON, SO_WAITDATA, SO_NOSPACE, 

Type
 SOCK_DGRAM  用户数据报模式
 SOCK_STREAM  用于流式套接字
 SOCK_RAM  用于原始套接字
 SOCK_RDM 用于可靠传递的消息
 SOCK_SEQPACKET  用于顺序的分组套接字

State
 FREE  套接字未被分配
 LISTENING socket处于监听连接请求的状态
 CONNECTING 套接字即将建立连接
 CONNECTED 套接字已连接
 DISCONNECTING 套接字正在断开连接
 
PID/Program name  
 进程的ID和已经代开套接字的进程的名字

Path  和套接字通信的程序的路径

与网路相关的文件位置

/etc/servics   网络服务文件
/proc   存储每个进程的信息,可以查看内核状态信息
/proc/net/dev   设备信息
/proc/net/raw  原始套接字信息
/proc/net/tcp   tcp套接字信息
/pro/net/udp  udp套接字信息


原文地址:https://www.cnblogs.com/pangblog/p/3271281.html