netstat命令与wget命令

查看本机的网络连接与后门:netstat

如果某个网络服务明明已经启动了,但是就算无法进行连接,那应该怎么办?首先你要查询以下网络接口所监听的端口(port),来看看是否真的已经启动,因为有时候屏幕上显示的OK并不一定真的就OK了

netstat -[rn]      # 与路由有关的参数
netstat -[antulpc] # 与网络接口有关的参数
选项:
-r:列出路由表(route table),功能如同 route这个命令
-n:不使用主机名与服务名称,使用IP与port number,如同route -n 与网络接口有关的参数
-a:列出所有的连接状态,包括 tcp/ydp/unix socket 等
-t:仅列出TCP数据包的连接
-u:仅列出UDP数据包的连接
-l:仅列出已在Listen(监听)的服务的网络状态
-p:列出PID与Program的文件名
-c:可以设置几秒钟自动更新一次,例如 -c 5 为每5s更新一次网络状态的显示

使用案例

列出当前的路由表状态,且以IP及port number 进行显示

[root@localhost ~]# netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.200.2   0.0.0.0         UG        0 0          0 ens34
172.17.0.0      0.0.0.0         255.255.0.0     U         0 0          0 docker0
172.18.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-c7756c2eefb2
172.20.0.0      0.0.0.0         255.255.0.0     U         0 0          0 br-429bf6695726
192.168.200.0   0.0.0.0         255.255.255.0   U         0 0          0 ens34

列出当前的所有网络连接状态,使用IP与port number

[root@localhost ~]# netstat -an
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address           Foreign Address         State      
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:3306            0.0.0.0:*               LISTEN     
tcp        0      0 192.168.200.20:22       192.168.200.1:54511     ESTABLISHED
tcp        0     52 192.168.200.20:22       192.168.200.1:54509     ESTABLISHED
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
udp        0      0 127.0.0.1:323           0.0.0.0:*                          
udp6       0      0 ::1:323                 :::*                               
raw6       0      0 :::58                   :::*                    7          
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     11781    /run/lvm/lvmetad.socket
unix  2      [ ]         DGRAM                    22796    /var/run/chrony/chronyd.sock
unix  2      [ ACC ]     STREAM     LISTENING     34068    public/pickup
unix  2      [ ACC ]     STREAM     LISTENING     34072    public/cleanup
.......
.......
.......
.......

netstat的输出主要分为两大部分,分别是TCP/IP的网络接口部分,以及传统的Unix socket部分。

下面是输出的详细解释:

  • Proto:连接使用的协议(如TCP或UDP)。

  • Recv-Q:等待接收数据的字节数。

  • Send-Q:等待发送数据的字节数。

  • Local Address:本地IP地址和端口号。

  • Foreign Address:远程IP地址和端口号。

  • State:连接的状态,常见的状态有:LISTEN(正在监听)ESTABLISHED(已建立连接)

    SYN_SENT:发出注定连接(SYN标志)的连接数据包

    SYN_RECV:接受到一个要求连接的主动连接数据包

    FIN_WAIT1:该套接字服务(socket)已中断,该连接正在断线当中

    FIN_WAIT2:该连接已挂断,但正在等待对方主机响应断线确认的数据包

    TIME_WAIT:该连接已挂断,但socket还阿紫网络上等待结束

netstat的功能,就算查看网络的连接状态,而网络连接状态中,又可以查看"我目前开了多少port在等待客户端的连接"以及“目前的网络连接状态中,有多少连接已建立或产生问题”可以用如下命令查看

显示目前已启动的网络服务

image-20230614150031069

上图中最重要的其实是 -l的参数,因为可以仅列出处于 Listen 状态的port

查看本机上所有网络连接状态

image-20230614150240315

更多命令查阅 man netstat

文字接口下载器:wget

wget是一种在命令行中使用的下载工具,可以下载各种类型的文件,如文本文件、图像文件、压缩文件等。

wget [option] 网址
常用选项:
-O:指定要将下载的文件保存为的文件名。
-r:递归下载,下载指定目录下的所有文件。
-c:断点续传下载,如果下载中断,下次下载时可以从中断的地方继续下载。

使用案例

如果我想下载阿里云的CentOS 7仓库的repo文件并存储在/etc/yum.repos.d/目录下改怎么做?

wget -O /etc/yum.repos.d/aliyun.repo http://mirrors.aliyun.com/repo/Centos-7.repo

猜你喜欢

转载自blog.csdn.net/qq_52089863/article/details/131209217