netron 查看网络命令_Linux中利用netstat命令查看网络状态
Linux中利用netstat命令查看网络状态
补充:
IP地址是服务器在互联网中唯一的地址标识。
假设有一台阿里云服务器,我们通过IP地址可以找到它。
服务器中启动了Tomcat、FTP服务...,
当客户端访问服务器时,如何确定访问的是哪一个服务?
解:
端口就是用于网络通信的接口,是数据从传输层向上传递到应用层的数据通道。
每个常规服务都有默认的端口号,通过不同的端口号就可以访问不同服务。
总结:
客户端通过IP地址访问服务器,假设数据包访问的是80端口,则为Web服务。
若数据包访问的是21端口,则访问的是FTP服务。
即:客户端可以通过固定的端口访问指定的服务。
而我们可以通过在服务器中查看已经开启的端口号,就可以判断服务器中开启了那些服务。
1、netstat
netstat是网络状态查看命令,可以查看到本机开启的端口及有哪些客户端连接。
2、命令格式
netstat [选项]
3、选项
-a:列出所有网络状态,包括Socket程序。
-c:秒数,指定每隔几秒刷新一次网络状态。
-n:使用IP地址和端口号显示,不使用域名与服务名。
-p:显示PID和程序名。
-t:显示使用TCP协议端口的连接状况。
-u:显示使用UDP协议端口的连接状况。
-I:仅显示监听状态的连接。
-r:显示路由表。
4、 案例
案例1、查看本机开启的端口
netstat -tuln
这里的选项-tuln是比较常用的方式。
Proto(协议):
一般就是 TCP 协议或者 UDP 协议。
Recv-Q(接收队列):
表示接收到的数据,已经在本地的缓冲中,但是还没有被进程取走。
Send-Q(发送队列) :
表示从本机发送,对方还没有收到的数据,依然在本地的缓冲中,不具备ACK标志数据包。
Local Address(本机IP地址及端口号):
Foreign Address(远程主机IP地址及端口号)
State(状态):
-LISTEN:监听状态,只有TCP协议需要监听,而UDP协议不需要监听。
-ESTABLISHED:已经建立连接的状态。
-SYN_SENT:SYN发起包,就是主动发起连接的数据包。
-SYN_RECV:接收到主动连接的数据包。
-FIN_WAIT1:正在中断的连接。
-FIN_WAIT2:已经中断的连接,但是正在等待对方主机进行确认。
-TIME_WAIT:连接已经中断,但是套接字依然在网络中等待结束。
-CLOSED:套接字没有被使用。
案例2:
netstat -tulnp
查看本机有哪些程序开启的端口
案例3:
netstat -an
查看所有连接。
欢迎大家给予宝贵的意见或者建议。
欢迎大家补充或者共享一些其他的方法。
感谢支持。
更多推荐
所有评论(0)