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协议不需要监听 。
【Linux中netstat命令查看网络状态】-ESTABLISHED:已经建立连接的状态 。
-SYN_SENT:SYN发起包,就是主动发起连接的数据包 。
-SYN_RECV:接收到主动连接的数据包 。
-FIN_WAIT1:正在中断的连接 。
-FIN_WAIT2:已经中断的连接,但是正在等待对方主机进行确认 。
-TIME_WAIT:连接已经中断,但是套接字依然在网络中等待结束 。
-CLOSED:套接字没有被使用 。
文章插图
案例2:
netstat -tulnp
查看本机有哪些程序开启的端口
文章插图
案例3:
netstat -an
查看所有连接 。
文章插图
欢迎大家给予宝贵的意见或者建议 。
欢迎大家补充或者共享一些其他的方法 。
感谢支持 。
推荐阅读
- Go程序配置文件找不到怎么办?
- Go 中如何优雅关闭子进程?
- 国内顶尖大佬整理的Python入门教程完整版!懂中文就能学会
- Linux命令存放目录bin的体系结构分析
- Linux怎么设置系统环境变量之export命令详解
- 在Python中定义Main函数
- 男人春季进补吃什么好 男人春季吃什么进补
- 饮食|减肥中怎么样才能控制食欲?
- 化妆|海外华人喜爱的10款国货护肤品 效果好成分好 说我们身在福中不知福
- 中式家具十大品牌排名