检查Linux系统上的网络连接

系统 Linux
Linux 上有许多可用于查看网络设置和连接的命令。在今天的文章中,我们将会通过一些非常方便的命令来看看它们是如何工作的。

[[212075]]

Linux 系统提供了许多有用的命令来检查网络配置和连接。下面来看几个,包括 ifquery、ifup、ifdown 和 ifconfig。

Linux 上有许多可用于查看网络设置和连接的命令。在今天的文章中,我们将会通过一些非常方便的命令来看看它们是如何工作的。

ifquery 命令

一个非常有用的命令是 ifquery。这个命令应该会显示一个网络接口列表。但是,你可能只会看到类似这样的内容 - 仅显示回环接口:

$ ifquery --list 
 
lo 
  • 1.
  • 2.
  • 3.

如果是这种情况,那说明你的 /etc/network/interfaces 不包括除了回环接口之外的网络接口信息。在下面的例子中,假设你使用 DHCP 来分配地址,且如果你希望它更有用的话,你可以添加例子***的两行。 

# interfaces(5) file used by ifup(8) and ifdown(8) 
 
  auto lo 
 
  iface lo inet loopback 
 
  auto eth0 
 
  iface eth0 inet dhcp 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

ifup 和 ifdown 命令

可以使用相关的 ifup 和 ifdown 命令来打开网络连接并根据需要将其关闭,只要该文件具有所需的描述性数据即可。请记住,“if” 在这里意思是接口,这与 ifconfig 命令中的一样,而不是如果我只有一个大脑 中的 “if”。

ifconfig 命令

另外,ifconfig 命令完全不读取 /etc/network/interfaces,但是仍然提供了网络接口相当多的有用信息 —— 配置数据以及可以告诉你每个接口有多忙的数据包计数。ifconfig 命令也可用于关闭和重新启动网络接口(例如:ifconfig eth0 down)。   

$ ifconfig eth0 
 
    eth0      Link encap:Ethernet  HWaddr 00:1e:4f:c8:43:fc 
 
              inet addr:192.168.0.6  Bcast:192.168.0.255  Mask:255.255.255.0 
 
              inet6 addr: fe80::b44b:bdb6:2527:6ae9/64 Scope:Link 
 
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1 
 
              RX packets:60474 errors:0 dropped:0 overruns:0 frame:0 
 
              TX packets:33463 errors:0 dropped:0 overruns:0 carrier:0 
 
              collisions:0 txqueuelen:1000 
 
              RX bytes:43922053 (43.9 MB)  TX bytes:4000460 (4.0 MB) 
 
              Interrupt:21 Memory:fe9e0000-fea00000 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.

输出中的 RX 和 TX 数据包计数很低。此外,没有报告错误或数据包冲突。或许可以用 uptime 命令确认此系统最近才重新启动。

上面显示的广播 (Bcast) 和网络掩码 (Mask) 地址表明系统运行在 C 类等效网络(默认)上,所以本地地址范围从 192.168.0.1 到 192.168.0.254。

netstat 命令 
  • 1.

netstat 命令提供有关路由和网络连接的信息。netstat -rn 命令显示系统的路由表。192.168.0.1 是本地网关 (Flags=UG)。   

$ netstat -rn 
 
   Kernel IP routing table 
 
   Destination     Gateway         Genmask         Flags   MSS Window  irtt Iface 
 
   0.0.0.0         192.168.0.1     0.0.0.0         UG        0 0          0 eth0 
 
   169.254.0.0     0.0.0.0         255.255.0.0     U         0 0          0 eth0 
 
   192.168.0.0     0.0.0.0         255.255.255.0   U         0 0          0 eth0 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

上面输出中的 169.254.0.0 条目仅在你正在使用或计划使用本地链路通信时才有必要。如果不是这样的话,你可以在 /etc/network/if-up.d/avahi-autoipd 中注释掉相关的行:   

$ tail -12 /etc/network/if-up.d/avahi-autoipd 
 
    #if [ -x /bin/ip ]; then 
 
    #       # route already present? 
 
    #       ip route show | grep -q '^169.254.0.0/16[[:space:]]' && exit 0 
 
    # 
 
    #       /bin/ip route add 169.254.0.0/16 dev $IFACE metric 1000 scope link 
 
    #elif [ -x /sbin/route ]; then 
 
    #       # route already present? 
 
    #       /sbin/route -n | egrep -q "^169.254.0.0[[:space:]]" && exit 0 
 
    # 
 
    #       /sbin/route add -net 169.254.0.0 netmask 255.255.0.0 dev $IFACE metric 1000 
 
    #fi 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

netstat -a 命令

netstat -a 命令将显示“所有”网络连接。为了将其限制为显示正在监听和已建立的连接(通常更有用),请改用 netstat -at 命令。   

$ netstat -at 
 
    Active Internet connections (servers and established) 
 
    Proto Recv-Q Send-Q Local Address           Foreign Address         State 
 
    tcp        0      0 *:ssh                   *:*                     LISTEN 
 
    tcp        0      0 localhost:ipp           *:*                     LISTEN 
 
    tcp        0      0 localhost:smtp          *:*                     LISTEN 
 
    tcp        0    256 192.168.0.6:ssh         192.168.0.32:53550      ESTABLISHED 
 
    tcp6       0      0 [::]:http               [::]:*                  LISTEN 
 
    tcp6       0      0 [::]:ssh                [::]:*                  LISTEN 
 
    tcp6       0      0 ip6-localhost:ipp       [::]:*                  LISTEN 
 
    tcp6       0      0 ip6-localhost:smtp      [::]:*                  LISTEN 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

host 命令

host 命令就像 nslookup 一样,用来查询远程系统的 IP 地址,但是还提供系统的邮箱处理地址。   

$ host world.std.com 
 
    world.std.com has address 192.74.137.5 
 
    world.std.com mail is handled by 10 smtp.theworld.com. 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

nslookup 命令

nslookup 还提供系统中(本例中是本地系统)提供 DNS 查询服务的信息。   

$ nslookup world.std.com 
 
    Server:         127.0.1.1 
 
    Address:        127.0.1.1#53 
 
    Non-authoritative answer: 
 
    Name:   world.std.com 
 
    Address: 192.74.137.5 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.

dig 命令

dig 命令提供了很多有关连接到远程系统的信息 - 包括与我们通信的名称服务器以及查询需要多长时间进行响应,并经常用于故障排除。   

$ dig world.std.com 
 
    ; <<>> DiG 9.10.3-P4-Ubuntu <<>> world.std.com 
 
    ;; global options: +cmd 
 
    ;; Got answer: 
 
    ;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 28679 
 
    ;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1 
 
    ;; OPT PSEUDOSECTION: 
 
    ; EDNS: version: 0, flags:; udp: 512 
 
    ;; QUESTION SECTION
 
    ;world.std.com.                 IN      A 
 
    ;; ANSWER SECTION
 
    world.std.com.          78146   IN      A       192.74.137.5 
 
    ;; Query time: 37 msec 
 
    ;; SERVER: 127.0.1.1#53(127.0.1.1) 
 
    ;; WHEN: Mon Oct 09 13:26:46 EDT 2017 
 
    ;; MSG SIZE  rcvd: 58 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.

nmap 命令

nmap 经常用于探查远程系统,但是同样也用于报告本地系统提供的服务。在下面的输出中,我们可以看到登录可以使用 ssh、smtp 用于电子邮箱、web 站点也是启用的,并且 ipp 打印服务正在运行。   

$ nmap localhost 
 
   Starting Nmap 7.01 ( https://nmap.org ) at 2017-10-09 15:01 EDT 
 
   Nmap scan report for localhost (127.0.0.1) 
 
   Host is up (0.00016s latency). 
 
   Not shown: 996 closed ports 
 
   PORT    STATE SERVICE 
 
   22/tcp  open  ssh 
 
   25/tcp  open  smtp 
 
   80/tcp  open  http 
 
   631/tcp open  ipp 
 
   Nmap done: 1 IP address (1 host up) scanned in 0.09 seconds 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

Linux 系统提供了很多有用的命令用于查看网络配置和连接。如果你都探索完了,请记住 apropos network 或许会让你了解更多。

责任编辑:庞桂玉 来源: Linux中国
相关推荐

2018-02-23 10:30:15

Linux命令网络连接

2012-04-09 11:11:40

2020-06-08 08:00:05

JavaScript网站技术

2011-01-24 13:53:15

IP配置Windows网络连接

2010-12-23 14:42:54

网络连接

2022-11-20 16:21:33

Linuxping 命令网络连接

2011-03-11 10:12:17

服务器网络连接

2010-03-24 14:05:06

无线网络连接不上

2010-04-15 09:16:15

Oracle网络

2022-04-12 10:26:55

NetstatLinux 服务器端口

2011-09-19 13:08:54

优化网络连接DNS代理缓存

2011-03-21 14:04:38

2022-08-09 16:44:59

无线技术网络连接WAN

2012-05-15 10:51:18

加密网络连接

2023-01-14 09:26:45

ss命令Linux

2011-08-09 17:04:01

Windows7网络连接状况

2009-07-27 09:18:51

网络连接依赖

2010-09-15 10:47:24

2009-12-08 18:07:28

Windows 7操作

2010-09-27 13:47:19

无线网络无线网卡设备
点赞
收藏

51CTO技术栈公众号