查看系统中的套接字

套接字其实就是通信控制信息,或者说是存放控制信息的内存空间。

套接字也是我们传输TCP/IP数据的基础。

在Windows中查看套接字

在Windows中,我们可以使用netstat -ano命令显示套接字的内容。其中-ano选项分别表示:

  • a:不仅显示正在通信的套接字,还显示包括尚未开始通信等状态的所有套接字。
  • n:显示IP地址和端口号。
  • o:显示使用该套接字的程序PID(Process ID,进程标识符)。

下面展示了一个执行netstat -ano命令的输出示例:

Active Connections

Proto    Local Address        Foreign Address    State        PID
-----    -------------        ---------------    -----        ---
TCP      0.0.0.0:80           0.0.0.0:0          LISTENING    4
TCP      192.168.0.37:9230    58.251.100.102:80  ESTABLISHED  7164
UDP      0.0.0.0:68           *:*                             328

上面各个列头的意思分别为:

  • Proto(协议):协议类型,使用TCP/IP协议通信的情况下,会显示TCP或UDP。
  • Local Address(本地地址):执行netstat命令的计算机本身(本地端)的IP地址和端口号。如果计算机安装了多块网卡,则会显示出多个IP地址。0.0.0.0表示不绑定IP地址。
  • Foreign Address(外部地址):通信对象(远程端)的IP地址和端口号。0.0.0.0表示还没有开始通信,没有绑定IP地址和端口号。此外,UDP协议中的套接字不绑定对方的地址和端口,因此显示*:*
  • State(状态):表示通信状态,LISTENING是等待对方连接,ESTABLISHED是完成连接并正在进行数据通信。
  • PID(Process ID,进程标识符):使用该套接字的程序PID。

接下来,我们来看看上面输出示例都是什么意思吧。比如:

  • 第1行,它表示PID为4的程序正在139端口等待另一方的TCP协议连接,其中本地IP地址和远程IP地址都是0.0.0.0,这表示通信还没有开始,IP地址不确定。
  • 第2行,它表示PID为7164的程序正在使用IP地址为192.168.0.37的网卡与IP地址为58.251.100.102的对象进行TCP协议通信。
  • 第3行,它表示PID为328的程序正在68端口等待另一方的连接,因为这里使用的是UDP协议,而UDP协议中的套接字不绑定对方的地址和端口,因此显示*:*

浏览器、邮件等一般应用程序收发数据时用TCP;
DNS查询等收发较短的控制数据时用UDP。

在Linux中查看套接字

在Linux中查看套接字与Windows中非常类似,只是netstat命令中的o选项换成p

在Linux中查看套接字的命令为netstat -anp

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值