【Linux】常用 Linux 网络命令

本文介绍 Linux 下常用网络命令.

1. 查看网络信息

1.1 ifconfig

1.2 ifup ifdown

1.3 netstat

查询网络状态

netstat [options]
  • -t:列出 TCP 协议端口
  • -u:列出 UDP 协议端口
  • -n:不使用域名与服务名,而使用 IP 地址和端口号
  • -l:仅列出在监听状态网络服务
  • -a:列出所有的网络连接
$ netstat -tuln
Active Internet connections (only servers)
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 192.168.122.1:53        0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN     
tcp6       0      0 :::111                  :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
tcp6       0      0 ::1:6010                :::*                    LISTEN     
udp        0      0 0.0.0.0:42195           0.0.0.0:*                          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 192.168.122.1:53        0.0.0.0:*                          
udp        0      0 0.0.0.0:67              0.0.0.0:*                          
udp        0      0 0.0.0.0:68              0.0.0.0:*                          
udp        0      0 0.0.0.0:111             0.0.0.0:*                          
udp        0      0 127.0.0.1:323           0.0.0.0:*                          
udp        0      0 0.0.0.0:801             0.0.0.0:*                          
udp6       0      0 :::111                  :::*                               
udp6       0      0 ::1:323                 :::*                               
udp6       0      0 :::801                  :::*
  • Recv-Q 表示接收队列中的数据包数量.
  • Send-Q 表示发送队列中的数据包数量.
  • State 只有 TCP 协议有监听状态,UDP 协议没有监听状态,使用了-l参数,仅显示监听状态的端口.
$ 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 192.168.122.1:53        0.0.0.0:*               LISTEN     
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:631           0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:25            0.0.0.0:*               LISTEN     
tcp        0      0 127.0.0.1:6010          0.0.0.0:*               LISTEN     
tcp        0     36 192.168.45.130:22       192.168.45.1:56343      ESTABLISHED
tcp6       0      0 :::111                  :::*                    LISTEN     
tcp6       0      0 :::22                   :::*                    LISTEN     
tcp6       0      0 ::1:631                 :::*                    LISTEN     
tcp6       0      0 ::1:25                  :::*                    LISTEN     
tcp6       0      0 ::1:6010                :::*                    LISTEN     
udp        0      0 0.0.0.0:42195           0.0.0.0:*                          
udp        0      0 0.0.0.0:5353            0.0.0.0:*                          
udp        0      0 192.168.122.1:53        0.0.0.0:*                          
udp        0      0 0.0.0.0:67              0.0.0.0:*                          
udp        0      0 0.0.0.0:68              0.0.0.0:*                          
udp        0      0 0.0.0.0:111             0.0.0.0:*                          
udp        0      0 127.0.0.1:323           0.0.0.0:*                          
udp        0      0 0.0.0.0:801             0.0.0.0:*                          
udp6       0      0 :::111                  :::*                               
udp6       0      0 ::1:323                 :::*                               
udp6       0      0 :::801                  :::*                               
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     28257    private/discard
unix  2      [ ACC ]     STREAM     LISTENING     34636    @/tmp/.ICE-unix/2102
unix  2      [ ACC ]     STREAM     LISTENING     27525    @/tmp/dbus-seBJPDv7

...
...

unix  2      [ ACC ]     STREAM     LISTENING     18990    /run/gssproxy.sock
unix  3      [ ]         DGRAM                    10549    /run/systemd/notify
unix  2      [ ]         DGRAM                    10551    /run/systemd/cgroups-agent

...
...

unix  5      [ ]         DGRAM                    10572    /run/systemd/journal/socket
unix  28     [ ]         DGRAM                    10574    /dev/log
unix  2      [ ACC ]     STREAM     LISTENING     28204    public/pickup

...
...

unix  3      [ ]         STREAM     CONNECTED     37172    @/tmp/dbus-ICeEtywtww
unix  3      [ ]         STREAM     CONNECTED     24337    /run/systemd/journal/stdout
unix  3      [ ]         DGRAM                    16469

统计当前远程连接的数量:

netstat -an | grep ESTABLISHED | wc -l

使用-rn参数查看路由列表,可以用来查看网关:

$ netstat -rn
Kernel IP routing table
Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface
0.0.0.0         192.168.45.2    0.0.0.0         UG        0 0          0 ens33
192.168.45.0    0.0.0.0         255.255.255.0   U         0 0          0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U         0 0          0 virbr0
  • -r参数可以列出路由列表,功能和route命令一致.

1.4 route

查看路由列表:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.45.2    0.0.0.0         UG    100    0        0 ens33
192.168.45.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

临时设置网关:

route add default gw 192.168.45.1

此时查看网关:

$ route -n
Kernel IP routing table
Destination     Gateway         Genmask         Flags Metric Ref    Use Iface
0.0.0.0         192.168.45.1    0.0.0.0         UG    0      0        0 ens33
0.0.0.0         192.168.45.2    0.0.0.0         UG    100    0        0 ens33
192.168.45.0    0.0.0.0         255.255.255.0   U     100    0        0 ens33
192.168.122.0   0.0.0.0         255.255.255.0   U     0      0        0 virbr0

临时删除网关:

route del default gw 192.168.45.1

1.5 nslookup

使用 nslookup 命令查看 DNS,Server 既是 DNS 地址:

$ nslookup www.baidu.com
Server:		192.168.45.2
Address:	192.168.45.2#53

Non-authoritative answer:
Name:	www.baidu.com
Address: 14.215.177.39
www.baidu.com	canonical name = www.a.shifen.com.

可以输入 nslookup 命令直接回车,然后输入 server 查看 DNS,输入 exit 退出命令:

$ nslookup 
> server
Default server: 192.168.45.2
Address: 192.168.45.2#53
> exit

2. 测试网络状态

2.1 ping

查看指定地址的网络状况

ping [options] IP or Domain
  • -c:指定 ping 包的次数

2.2 telnet

远程原理和端口探测

telnet [IP or Domain] [port]

如果连接成功,CTRL + ] 返回 telnet 命令.

quit 退出:

$ telnet 
telnet> quit

2.3 traceroute

traceroute [options] IP or Domain
  • -n:使用 IP,不使用域名,访问更快

* * * 表示禁 ping.

2.4 wget

2.5 tcpdump

抓包命令

tcpdump [options] port 
  • -i:指定网卡接口
  • -nn:将数据包中的域名与服务器转为IP和端口
  • -X:以十六进制和ASCII码显示数据包内容
  • port指定监听的端口

猜你喜欢

转载自blog.csdn.net/RadiantJeral/article/details/113704741