• 初步认识端口服务查询--netstat


    转载连接:netstat详解

    netstat命令是一个监控TCP/IP网络的非常有用的工具,它可以显示路由表、实际的网络连接以及每一个网络接口设备的状态信息。

    1、语法与参数概括

    语法:

    netstat [选项]

    参数:

    -a或–all:显示所有连线中的Socket;
    -A<网络类型>或–<网络类型>:列出该网络类型连线中的相关地址;
    -c或–continuous:持续列出网络状态;
    -C或–cache:显示路由器配置的快取信息;
    -e或–extend:显示网络其他相关信息;
    -F或–fib:显示FIB;
    -g或–groups:显示多重广播功能群组组员名单;
    -h或–help:在线帮助;
    -i或–interfaces:显示网络界面信息表单;
    -l或–listening:显示监控中的服务器的Socket;
    -M或–masquerade:显示伪装的网络连线;
    -n或–numeric:直接使用ip地址,而不通过域名服务器;
    -N或–netlink或–symbolic:显示网络硬件外围设备的符号连接名称;
    -o或–timers:显示计时器;
    -p或–programs:显示正在使用Socket的程序识别码和程序名称;
    -r或–route:显示Routing Table;
    -s或–statistice:显示网络工作信息统计表;
    -t或–tcp:显示TCP传输协议的连线状况;
    -u或–udp:显示UDP传输协议的连线状况;
    -v或–verbose:显示指令执行过程;
    -V或–version:显示版本信息;
    -w或–raw:显示RAW传输协议的连线状况;
    -x或–unix:此参数的效果和指定"-A unix"参数相同;
    –ip或–inet:此参数的效果和指定"-A inet"参数相同。

    2、输出释义

    2.1 以netstat -atnlp为例,解释输出结果中各列的含义

    netstat -atnlp   # 直接使用ip地址列出所有处理监听状态的TCP端口,且加上程序名
    
    • 1

    输出:
    在这里插入图片描述
    每一项的含义

    1、Proto:协议名(tcp协议还是udp协议);

    2、recv-Q:网络接收队列

    表示收到的数据已经在本地接收缓冲,但是还有多少没有被进程取走,recv()如果接收队列Recv-Q一直处于阻塞状态,可能是遭受了拒绝服务denial-of-service 攻击;

    3、send-Q:网路发送队列

    对方没有收到的数据或者说没有Ack的,还是本地缓冲区.

    如果发送队列Send-Q不能很快的清零,可能是有应用向外发送数据包过快,或者是对方接收数据包不够快;

    这两个值通常应该为0,如果不为0可能是有问题的。packets在两个队列里都不应该有堆积状态。可接受短暂的非0情况。

    4、Local Address 解释

    1)Local Address
    部分的0.0.0.0:873表示监听服务器上所有ip地址的所有(0.0.0.0表示本地所有ip),比如你的服务器是有172.172.230.210和

    172.172.230.11两个ip地址,那么0.0.0.0:873此时表示监听172.172.230.210,172.172.230.211,127.0.0.1三个地址的873端口

    2)127.0.0.1:25这个表示监听本机的loopback地址的25端口(如果某个服务只监听了回环地址,那么只能在本机进行访问,无法通过tcp/ip 协议进行远程访问)

    3)192.168.1.81:2288这是因为我们在启动的时候指定了192.168.1.81:2288参数,如果不指定的话,会监听0.0.0.0:2288

    5、Foreign Address解释

    与本机端口通信的外部socket。显示规则与Local Address相同

    6、State解释

    链路状态,共有11种

    state列共有12中可能的状态,前面11种是按照TCP连接建立的三次握手和TCP连接断开的四次挥手过程来描述的。

    2.2、以netstat -rn为例,解释输出结果中各列的含义

    netstat -rn    # 显示所有TCP的统计信息
    
    • 1

    输出:
    在这里插入图片描述
    每一项的含义:
    Destination:目标网络或者主机。
    Gateway:网关地址,如果没有设置则为*。
    Genmask:目标网络掩码;如果默认路由则用"0.0.0.0"。
    Flags标志说明:

    U Up表示此路由当前为启动状态

    H Host,表示此网关为一主机

    G Gateway,表示此网关为一路由器

    R Reinstate Route,使用动态路由重新初始化的路由

    D Dynamically,此路由是动态性地写入

    M Modified,此路由是由路由守护程序或导向器动态修改

    ! 表示此路由当前为关闭状态

    Iface:对于这个路由,数据包将要发送到那个接口(网卡)。

    3、实用命令

    #实例1:列出所有端口
    netstat -a      # 列出所有端口
    netstat -at     # 列出所有TCP端口
    netstat -au    # 列出所有UDP端口
    netstat -ax    # 列出所有unix端口
    netstat -atnlp    # 直接使用ip地址列出所有处理监听状态的TCP端口,且加上程序名
    
    #实例2:显示每个协议的统计信息
    netstat -s     # 显示所有端口的统计信息
    netstat -st    # 显示所有TCP的统计信息
    netstat -su    # 显示所有UDP的统计信息
    
    #实例3:显示核心路由信息
    netstat -r     # 显示所有端口的统计信息
    netstat -rn    # 显示所有TCP的统计信息
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16

    4、项目中通过netstat查询某端口是否被占用

    配置某工具时,通过以下命令查看服务器的3000端口号是否被占用、以及被什么端口服务占用

    #查看所有处于监听状态的TCP传输协议端口服务及对应的端口号
    netstat -lnpt
    #查看监听3000端口的进程
    netstat -lnpt | grep 3000
    
    • 1
    • 2
    • 3
    • 4
  • 相关阅读:
    springcloud面试题及答案
    Unet心电信号分割方法(Pytorch)
    Mac和IDE配置
    整数智能·迪拜GITEX 2023 |探索未来科技,感受创新脉搏
    MyBatis之缓存
    矩阵理论复习(二)
    【深度学习 论文篇 02-1 】YOLOv1论文精读
    用CSS+SVG做一个优雅的环形进度条
    leetcode做题笔记125. 验证回文串
    基于Html+Css+javascript的游戏网页制作红色主题(我和我的祖国10页)
  • 原文地址:https://blog.csdn.net/m0_37635769/article/details/127990861