当前位置: 首页 > 工具软件 > Foreign LINUX > 使用案例 >

Linux网络管理相关命令

唐增
2023-12-01

Linux网络管理相关命令

netsta:显示本机网络连接、运行端口和路由表等信息

netstat命令:用于显示各种网络相关信息,如网络连接、路由表、接口状态、无效链接、组播成员等。

netstat选项

  • -a:列出系统所有网络连接,包括已经连接的网络服务、监听的网络服务和Socket套接字
  • -t:列出TCP数据
  • -u:列出UDP数据
  • -l:列出正在监听的网络服务(不包括已经连接的网络服务)
  • -n:用端口显示服务,而不用服务名
  • -p:列出该服务的进程ID
  • -s:按各个协议统计
  • -c:每隔一个固定的时间,执行该命令
  • -r:路由信息
[root@Qi2 ~]# netstat -tlunp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name    
tcp        0      0 0.0.0.0:111             0.0.0.0:*               LISTEN      1/systemd           
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN      7350/X              
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN      7259/dnsmasq        
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      6935/sshd           
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN      6929/cup

各字段释义:

proto:数据包的协议。分为TCP和UDP

Recv-Q:表示收到的数据已经本地缓存,但还未被进程取走的数据包数量

Send-Q:对方没有收到的数据包,或者没有ACK回复的,还在本地缓冲区的数据包数量。

Local Address:本地IP:端口,通过端口可以知道本机开启了哪些服务

Foreign Address:远程主机:端口也就是远程那个IP使用那个端口连接到本机。

State:连接状态,主要时已经连接的(ESTABLISED)和监听(LISTEN)两种状态。

PID/Program name:主要是进程ID和进程命令。

列出系统中所有的网络连接,并用端口显示netstat -an

[root@Qi2 ~]# 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:111             0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:6000            0.0.0.0:*               LISTEN     
tcp        0      0 192.168.122.1:53        0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN 
Active UNIX domain sockets (servers and established)
Proto RefCnt Flags       Type       State         I-Node   Path
unix  2      [ ACC ]     STREAM     LISTENING     38400    /var/run/lsm/ipc/sim
unix  2      [ ACC ]     STREAM     LISTENING     45497    @/tmp/dbus-SFr7mfYV
unix  2      [ ACC ]     STREAM     LISTENING     38407    /var/run/lsm/ipc/simc

字段释义:下部分

proto:协议主要为unix

RefCnt:连接到此Socket的进程数量

Flags:连接标识

Type :Socket访问类型

State :连接状态

I-Node :程序文件的Inode号

Path:Socket程序的路径,或者相关数据的输出路径。

连接状态说明

CLOSED:初始(无连接)状态

LISTEN:监听状态,等待远程机器的连接

SYN_SEND:在TCP三次握手期间,主动连接端发送了SYN包后,进入此状态,等待对方的ACK包。

SYN_RECV:在TCP三次握手期间,主动连接端收到SYN包后,进入此状态。

ESTABLISHED:完成TCP三次握手后,主动连接端进入此状态,此时,TCP连接已经建立,可以进行通信。

FIN_WAIT_1:在TCP四次挥手时,主动关闭端发送FIN包后,进入此状态。

FIN_WAIT_2:在TCP四次挥手时,主动关闭端发送ACK包后,进入此状态

TIME_WAIT:在TCP四次挥手时,主动关闭端发送ACK包后,进入此状态,等待最多MSL时间,让被动关闭端收到ACK包。

CLOSING:在TCP四次挥手时,主动关闭端发送FIN包后,没有收到ACK包,却收到对方的ACK包,进入此状态。

CLOSE_WAIT:在TCP四次挥手时,被动关闭端收到FIN包后,进入此状态。

LAST_ACK:在TCP四次挥手时,被动关闭端发送FIN包后,进入此状态,等待对方的ACK包。

ss:配置网络或显示当前网络接口的状态

ss命令用于显示socket状态,他可以显示PACKET,sockets,TCP,UDP sockets,DCCP sockets,等统计。它比其他工具展示等多tcp和state信息。

语法:ss [OPTIONS] [FILTER]

-t :tcp协议的连接

-u :udp协议的连接

-l:监听状态的连接

-a:所有状态的连接

-e :显示扩展信息

-m :显示套接连接的内存信息

-p:进程及UID

-n:数字格式显示

-o state (established)

[root@Qi2 ~]# ss -nltup
Netid State      Recv-Q Send-Q                                              Local Address:Port                                                             Peer Address:Port              
udp   UNCONN     0      0                                                               *:970                                                                         *:*                   users:(("rpcbind",pid=6312,fd=10))
udp   UNCONN     0      0                                                   192.168.122.1:53                                                                          *:*                   users:(("dnsmasq",pid=7309,fd=5))
udp   UNCONN     0      0                                                        *%virbr0:67                                                                          *:*                   users:(("dnsmasq",pid=7309,fd=3))

traceroute、mtr:获取当前主机到目标主机所经过的路由(网关)

traceroute命令

[root@Qi2 ~]# traceroute www.baidu.com
traceroute to www.baidu.com (36.152.44.96), 30 hops max, 60 byte packets
 1  gateway (192.168.248.2)  0.399 ms  0.238 ms  0.202 ms
 2  * * *
 3  * * *
 4  * * *
 5  * * *
 6  * * *

mtr命令

[root@Qi2 ~]# mtr -r 192.168.248.132
Start: Sun Aug 14 14:07:52 2022
HOST: Qi2                         Loss%   Snt   Last   Avg  Best  Wrst StDev
  1.|-- Qi2                        0.0%    10    0.2   0.2   0.1   0.4   0.0

第一列:显示的是IP地址和本机域名

第二列:显示的是每个对应IP的丢包率

第三列:snt:10 设置每秒发送数据包的数量,默认值为10,可以通过参数-c来指定

第四列:显示的是最近一次的返回时延

第五列:是平均值,发送ping包的平均时延

第六列:是最好或者说是时延最短的

第七列:是最差或者说是时延最长的

第八列:是标准偏差

选项

-r:以报告模式显示

-s:用来指定ping数据包的大小

-n:no-dns不对IP地址做域名解析

-a:来设置发送包的IP地址,这个对一个主机由多个IP地址是有用的

-i:使用这个参数来设置ICMP返回之间的要取默认值为1秒

-4:IPv4

-6:IPv6

##wget:从网络上下载文件的自由工具

-r:下载目录时,递归下载目录及其子目录

-o:表示将wget下载的输出信息写入文件中

-a:表示将wget下载的输出信息追加到文件中

-O:表示将远程的文件下载到本地后,重新命名

-q:执行时,不输出任何提示信息

SCP:是一个基于SSH的不同Linux系统间相互拷贝文件或者目录的工具

-r:表示递归拷贝目录

-q:安静模式,不打印拷贝的命令输出信息

-l:显示速度,单位为kb

-p:保留文件原有的权限信息

nmap工具检测开放端口

基本功能:主机发现、端口扫描、版本侦测、操作系统侦测

nmap命令格式:

nmap [扫描类型] [通用选项] {扫描目标说明}

[root@Qi1 ~]# nmap 127.0.0.1

Starting Nmap 6.40 ( http://nmap.org ) at 2022-08-26 20:30 CST
Nmap scan report for localhost (127.0.0.1)
Host is up (0.000012s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE
22/tcp open  ssh
25/tcp open  smtp

-l:打开nmap的反向标志扫描功能

-v:冗余模式。它会给出扫描过程中的详细信息

-S:在一些情况下,nmap可能无法确定你的源地址

-g port:设置扫描的源端口。

tcpdump:采用命令行方式对接口的数据进行筛选抓取,其丰富特性表现在灵活的表达式上。

-c:指定要抓取包的数量

-i:指定tcpdump需要监听的接口

-n:对地址以数字方式显示,否则显示为主机名

-P:指定要抓取的包是流入还是流出的包。

-q:快速打印输出

-x:输出包的头部数据,会以16进制和ASCII两种方式输出

-v:当分析和打印的时候,产生详细的输出

-w:将抓包数据输出到文件中而不是标准输出

-r:从给定的数据包文件中读取数据

-D:列出可用于抓包的接口

 类似资料: