Linux常用命令——常用网络命令【二】

四、netstat 命令

netstat是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。
在CentOS7.x中netstat命令默认没有安装,如果需要使用,需要安装net-snmp和net-tools软件包。(CentOS6中自动安装)

1、netstat命令的基本信息如下。

  • 命令名称:netstat。
  • 英文原意:Print network connections,routing tables,interface statistics,masquerade connections,and multicast memberships。
  • 所在路径:/bin/netstat。
  • 执行权限:所有用户。
  • 功能描述:输出网络连接、路由表、接口统计、伪装连接和组播成员。
命令格式如下:
[rootelocalhost ~] # netstat [选项]
选项:
-a:列出所有网络状态,包括 Socket程序
-c秒数:指定每隔几秒刷新一次网络状态
-n:使用IP地址和端口号显示,不使用域名与服务名
-p:显示PID和程序名
-t:显示使用TCP协议端口的连接状况-u:显示使用UDP协议端口的连接状况
-1:仅显示监听状态的连接
-r:显示路由表

2、例子1:查看本机开启的端口

这是本机最常用的方式,使用选项-tuln。因为使用了-l选项,所以只能看到监听状态的连接,而不能看到已经建立连接状态的连接。例如:

这个命令的输出较多。

  • Proto:网络连接的协议,一般就是TCP协议或者UDP协议。
  • Recv-Q:表示接收到的数据。已经在本地的缓冲中,但是还没有被进程取走。
  • Send-Q:表示从本机发送,对方还没有收到的数据。依然在本地的缓冲中,一般是不具备ACK标志的数据包。
  • Local Address:本机的IP地址和端口号。
  • Foreign Address:远程主机的IP地址和端口号。
  • State:状态。常见的状态主要有以下几种。
    • LISTEN:监听状态,只有TCP协议需要监听,而UDP协议不需要监听。
    • ESTABLISHED:已经建立连接的状态。如果使用“-l”选项,则看不到已经建立连接的状态。
    • SYNSENT:SYN发起包,就是主动发起连接的数据包。
    • SYNRECV:接收到主动连接的数据包。
    • FINWAIT1:正在中断的连接。
    • FINWAIT2:已经中断的连接,但是正在等待对方主机进行确认。
    • TIMEWAIT:连接已经中断,但是套接字依然在网络中等待结束。
    • CLOSED:套接字没有被使用。

在这些状态中,我们最常用的就是LISTENESTABLISHED状态,一种代表正在监听,另一种代表已经建立连接。

3、例子2:查看本机有哪些程序开启的端口

如果使用“p”选项,则可以查看到是哪个程序占用了端口,并且可以知道这个程序的PID。例如:

4、例子3:查看所有连接

使用选项“-an”可以查看所有连接,包括监听状态的连接(LISTEN)、已经建立连接状态的连接(ESTABLISHED)、Socket程序连接等。因为连接较多,所以输出的内容有很多。例如:

从“Active UNIX domain sockets”开始,之后的内容就是Socket程序产生的连接,之前的内容都是网络服务产生的连接。我们可以在“-an”选项的输出中看到各种网络连接状态,而之前的“-tuln”选项则只能看到监听状态。

5、例子4:查看网关地址

ifconfig命令只能看到IP地址,Mac地址,子网掩码。如下图

但是我们并不同通过ifconfig命令查看到网关,如果需要查看网关地址,就需要用到netstat 命令。如下图
执行命令:netstat -rn

重点:配套学习资料和视频教学

那么在这里我也精心准备了上述大纲的详细资料在下方链接如下

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值