Linux中netstat有关命令参数用法及输出结果分析

netstat命令用法

netstat命令参数

在这里插入图片描述
● netstat -a 显示网络状态(-a表示全部)
在这里插入图片描述
红框为IP所连接的主机

● Netstat -nlp(

  • -n 以数字形式显示地址和端口号,能显示文字的全部转化成数字 ,禁用反向域名解析,加快查询速度
  • -l 仅列出有在listen(监听)的服务状态
  • -p 显示建立相关链接的程序名)

在这里插入图片描述

netstat -an

在这里插入图片描述这个命令能看到所有和本地计算机建立连接的IP,它包含四个部分:proto(连接方式)、local address(本地连接地址)、foreign address(和本地建立连接的地址)、state(当前端口状态)。通过这个命令的详细信息可以完全监控自己的计算机上的连接。

netstat -l

在这里插入图片描述
该命令是显示所有监听端口

输出结果分析

netstat -nlp命令结果分析

从整体上看,netstat的输出结果可以分为两个部分:
1、一个是Active Internet connections,称为有源TCP连接,其中"Recv-Q“和”Send-Q"指%0A的是接收队列和发送队列。这些数字一般都应该是0。如果不是则表示软件包正在队列中堆积。这种情况只能在非常少的情况见到。
2、另一个是Active UNIX domain sockets,称为有源Unix域套接口(和网络套接字一样,但是只能用于本机通信,性能可以提高一倍)。
recv-Q 表示网络接收队列
表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务 denial-of-service 攻击。
send-Q 表示网路发送队列
对方没有收到的数据或者说没有ACK的,还是本地缓冲区。如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快。
Proto显示连接使用的网络传输协议,主要为tcp和udp
RefCnt表示连接到本套接口上的进程号
Types显示套接口的类型
State内部地址与外部地址的连接状态,主要有监听( LISTEN )和建立(ESTABLISED)
Path表示连接到套接口的其它进程使用的路径名
PID :服务的进程编号
Program name:服务名称

  • TCP与UDP均为传输层协议
    在这里插入图片描述

  • 0.0.0.0有两种解释:
    1、0.0.0.0代表本机上可用的任意地址。 比如0.0.0.0:22表示本机上所有地址的22端口,这样多ip计算机就不用重复显示了。
    2、0.0.0.0为默认路由,即要到达不在路由表里面的网段的包都走0.0.0.0这条规则。
    其实,我们可以“通用”理解为代表“本机地址”,22在程序中体现为绑定的22端口号

  • 1、UID是用户ID,用户身份证明
    2、 PID是进程ID,操作系统里指进程识别号,也就是进程标识符
    3、PPID是父进程ID,代表当前进程的父进程ID

  • foreign address:表示远程IP地址:监听端口
    local address:表示本地IP地址,IP地址前面为计算机名称

  • state:是指当前进程的状态
    在这里插入图片描述

netstat -n

-n 以数字形式显示地址和端口号,能显示文字的全部转化成数字 ,禁用反向域名解析,加快查询速度

  • 使用-n参数
    在这里插入图片描述
  • 未使用参数
    在这里插入图片描述
    使用-n参数
    1.用端口号代替了协议名称(每个端口代表不同的协议)
    2.将域名(本机名)转换为ip地址
netstat -a

在-a参数面前加上tcp的首字母t可以显示TCP相关的信息
在-a参数面前加上udp的首字母u可以显示UDP相关的信息

在这里插入图片描述
通过这个命令可以看见服务器与ssh协议的连接(红框标注)

一个建立好的网络连接,有四个参数 : 本地,ip + port(端口类型),远端 ip+ port ,
在这里插入图片描述
在这里插入图片描述
IP地址:端口(如果是服务端,则称为监听端口;反之,如果是客户端则为连接端口)

实验

curl. www.baidu.com(访问baidu网页)
在这里插入图片描述
通过netstat找出这次连接,记住要同时开两个窗口
在这里插入图片描述
如果不确定百度IP就ping www.baidu.com

在这里插入图片描述
这样就可以确定连接是否正确了

  • 5
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: `netstat` 命令通常是预装在 Linux 系统的。但如果你的系统没有预装该命令,你可以使用以下命令来安装它: - Ubuntu/Debian系统:`sudo apt-get install net-tools` - CentOS/RHEL系统:`sudo yum install net-tools` - Arch Linux系统:`sudo pacman -S net-tools` 请注意,该命令在最新的 Linux 发行版已经被废弃,推荐使用 `ss` 命令来代替 `netstat`。你可以通过以下方式安装 `ss` 命令: - Ubuntu/Debian系统:`sudo apt-get install iproute2` - CentOS/RHEL系统:`sudo yum install iproute` - Arch Linux系统:`sudo pacman -S iproute2` ### 回答2: 在Linux系统下,netstat命令是用于查看网络连接状态和统计信息的工具。它可以显示当前活动的网络连接,包括TCP、UDP协议以及UNIX域套接字。同时,netstat命令也可以显示网络接口的统计信息,如接收和发送的数据包数量等。 要在Linux系统安装netstat命令,具体的安装命令取决于所使用的Linux发行版。下面以常见的Ubuntu和CentOS系统为例: 1. 在Ubuntu系统,可以使用apt命令进行安装。打开终端,输入以下命令并按下回车键: ``` sudo apt install net-tools ``` 系统会要求输入管理员密码,输入密码后按下回车键确认,然后系统会自动下载并安装net-tools包,其包含了netstat命令。 2. 在CentOS系统,可以使用yum命令进行安装。打开终端,输入以下命令并按下回车键: ``` sudo yum install net-tools ``` 系统会要求输入管理员密码,输入密码后按下回车键确认,然后系统会自动下载并安装net-tools包,其包含了netstat命令。 安装完成后,可以在终端直接输入netstat命令来使用。netstat命令的常见用法有: - `netstat -a`:显示所有的网络连接和监听端口。 - `netstat -t`:显示所有使用TCP协议的网络连接和监听端口。 - `netstat -u`:显示所有使用UDP协议的网络连接和监听端口。 - `netstat -l`:显示所有正在监听的网络连接和监听端口。 - `netstat -p`:显示所有网络连接和监听端口,并显示对应的进程ID。 通过使用netstat命令,我们可以了解Linux系统上当前的网络连接状态,帮助排查网络问题,进行网络调优等操作。 ### 回答3: netstat是一个用于显示网络连接状态的命令行实用工具。在Linux系统,netstat是默认安装的,无需额外安装。 在绝大多数Linux发行版,使用以下命令来安装netstat是多余的,因为它通常已经可以直接使用: ``` sudo apt-get install net-tools ``` 上述命令是针对基于Debian和Ubuntu的系统,它会安装net-tools软件包,其包含了netstat命令。 然而,如果你的Linux发行版不包含netstat,或者你需要使用更新或特定版本的netstat,或者你希望使用其他网络状态工具,那么你可以通过不同的方法进行安装。 一种方法是通过下载net-tools软件包的源码,然后手动编译和安装。你可以从net-tools的官方网站(https://sourceforge.net/projects/net-tools/)上获取最新的源码压缩包。下载后,解压缩并进入解压后的目录,然后按照其的README文件提供的指导进行编译和安装。 另一种方法是使用其他第三方软件源,例如EPEL(Extra Packages for Enterprise Linux)。在使用这种方法之前,你需要先安装EPEL软件源(如果还没有安装)。安装完成后,使用以下命令安装netstat: ``` sudo yum install net-tools ``` 以上命令适用于基于Red Hat和CentOS的系统,它会从EPEL软件源安装net-tools软件包。 无论你使用哪种方法,安装完成后,你就可以在终端使用netstat命令了。该命令可以用来显示各种网络连接信息,例如打开的端口、连接状态、IP地址等等。你可以通过man netstat命令查看netstat的手册,了解更多可以使用的选项和参数

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值