netstat使用

本文仅仅是对netstat的初步了解。

netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、网络接口以及端口的状态信息。

 

显示路由表

使用参数-r。其作用和使用命令route一样。

 

显示网络接口

使用参数-i。结果显示类似于

Kernel Interface table Iface MTU Met RX-OK RX-ERR RX-DRP RX-OVR TX-OK TX-ERR TX-DRP TX-OVR Flg eth0 1500 0 541568 0 0 0 207425 0 0 0 BMRU lo 16436 0 12905 0 0 0 12905 0 0 0 LRU wlan0 1500 0 0 0 0 0 0 0 0 0 BMU

 

显示端口状态

1.  直接输入netstat命令。显示所有端口信息,除了处于监听状态的端口。

2.  参数-a。显示所有端口信息,包括处于监听状态的端口。

3.  参数-l。只显示处于监听状态的端口信息。

4.  参数-n。以点分四段式的形式输出IP地址,而不是象征性的主机名和网络名。

5.  参数-p。在结果中增加一列PID/Program name,显示进程信息。

6.  参数-t、 - u、- w和- x分别只显示TCP、UDP、RAW和UNIX套接字连接。


直接输入netstat命令时,会得到两块信息。

1. Active Internet connections (w/o servers)用于对外连接。

该块中包含下面6列信息

Proto :协议类型

Recv-Q : The count of bytes not copied by the user program connected to this socket.

Send-Q : The count of bytes not acknowledged by the remote host.

Local Address : Address and port number of the local end of the socket.

Foreign Address : Address and port number of the remote end of the socket.

State : 当前状态。

2.  Active UNIX domain sockets (w/o servers)用于本机进程间通信Inter-process communication (IPC)。虽然网络socket也可用于同一台主机的进程间通讯(通过loopback地址127.0.0.1),但是UNIX Domain Socket用于IPC更有效率:不需要经过网络协议栈,不需要打包拆包、计算校验和、维护序号和应答等,只是将应用层数据从一个进程拷贝到另一个进程。 这是因为,IPC机制本质上是可靠的通讯,而网络协议是为不可靠的通讯设计的。

该块中包含下面7列信息

Proto : 协议类型。

RefCnt : The reference count (i.e. attached processes via this socket).

Flags : The flags displayed is SO_ACCEPTON (displayed as ACC ), SO_WAITDATA (W ) or SO_NOSPACE (N ). SO_ACCECPTON is used on unconnected sockets if their corresponding processes are waiting for a connect request. The other flags are not of normal interest.

Type : Socket类型。

State : Socket当前状态:FREE、 LISTENING、 CONNECTING、 CONNECTED、 DISCONNECTING、 (empty)、 UNKNOWN。

I-Node :索引节点,一个节点存放一个目录或文件的基本信息。由于man中没有该属性的介绍,我将其认为是Path对应文件的inode。

Path : This is the path name as which the corresponding processes attached to the socket.

 

你可能感兴趣的:(socket,unix,网络,网络协议,reference,Sockets)