centos7如何查看网络状态?

参考https://www.jb51.net/os/RedHat/520187.html

查看网络状态:

lsof -Pnl +M -i4 显示ipv4服务及监听端情况

netstat -anp 所有监听端口及对应的进程

netstat -tlnp 功能同上

(1)network service的控制网络接口配置信息改动后,网络服务必须从新启动,来激活网络新配置的使得配置生效,这部分操作和从新启动系统时时一样的作用。

控制是/etc/init.d/network这个文件,可以用这个文件后面加上下面的参数来操作网络服务。例如:

[root@linux ~]#/etc/init.d/networkrestart

同样也可以用service这个命令来操作网络服务例如:

#service network restart

start ←启动

stop ←停止

restart ←再启动

reload ←和再启动一样(..)

status ←状态表示

(2)network管理命令网络管理还有一些常用的命令:

ifconfig, netstat, hostname, ping, traceroute

ifconfig

ifconfig用于网络接口的启动/停止,更改设置和表示网络状态,在不添加任何参数的情况下,这个ifconfig可以表示网络接口的状态。例如:

[root@linux ~]# ifconfig

eth0 Link encap:Ethernet HWaddr00:xx:xx:xx:04:45

inet addr:192.168.1.81 Bcast:192.168.1.255 Mask:255.255.255.0

inet6 addr: fe80::20c:29ff:fe61:445/64 Scope:Link

UPBROADCAST RUNNING MULTICAST MTU:1500 Metric:1

RXpackets:472 errors:0 dropped:0 overruns:0 frame:0

TXpackets:445 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:1000

RXbytes:35804 (34.9 KiB) TX bytes:53012(51.7 KiB)

Interrupt:185 Base address:0x1080

lo Link encap:Local Loopback

inet addr:127.0.0.1 Mask:255.0.0.0

inet6 addr: ::1/128 Scope:Host

UPLOOPBACK RUNNING MTU:16436 Metric:1

RXpackets:8 errors:0 dropped:0 overruns:0 frame:0

TXpackets:8 errors:0 dropped:0 overruns:0 carrier:0

collisions:0 txqueuelen:0

RXbytes:560 (560.0 b) TX bytes:560 (560.0b)

[root@linux ~]#

看看ifconfig的输出内容

1. Link encap ←

2. HWaddr ←MAC地址

3.inet addr ←IP地址(IPV4)

4. Bcast ←广播地址

5. Mask ←衍码

6. inet6 addr ←IP地址(IPV6)

7. UP ←启动中

8. BROADCAST ←广播地址有效

9. RUNNING ←动作

10. MTU ←网络接口的MTU(MaximumTransfer Unit:Ethernet最大传送frame值)

11. Metric ←

12. RX packets ←受信包数

13. TX packets ←送信包数

14. collisions ←

15. interrupt ←IRQ号码

16. Baseaddress ←I/O地址

通过这个命令还可以up(开启)和down(关闭)某个网络接口(网卡),例如我们关闭eth0可以用下面的命令:

[root@linux ~]#ifconfigeth0 down

相反的开启如下:

[root@linux ~]#ifconfigeth0 up

通过这个命令还可以设置网络接口(网卡),例如我们将eth0的IP设置成192.168.1.11,子网衍码设置成255.255.255.0如下:

[root@linux ~]#ifconfigetho inet 192.168.1.11 netmask 255.255.255.0

假如有多个网络接口的情况下,ethX的X部分用网络接口码(数字,例如eth0,eth1,eth2代替)。

netstat

这条命令是显示网络各种情况的命令,在不跟随任何参数被执行的情形下,将表示Active Internet connections和ActiveUNIX domain sockets的情报。

[root@bogon vipx]# netstat

Active Internet connections (w/o servers)

Proto Recv-Q Send-Q Local Address Foreign Address State

Active UNIX domain sockets (w/o servers)

Proto RefCnt Flags Type State I-Node Path

unix 2 [ ] DGRAM 13079 /run/systemd/shutd

主要的选项:

-a 显示所有socket,包括正在监听的。

-c 每隔1秒就重新显示一遍,直到用户中断它。

-i 显示所有网络接口的信息,格式同“ipconfig -e”。

-n 以网络IP地址代替名称,显示出网络连接情形。

-r 显示核心路由表,格式同“route -e”。

-t 显示TCP协议的连接情况。

-u 显示UDP协议的连接情况。

-v 显示正在进行的工作。

以上的选项可以结合使用,例如我们想知道正在开放的TCP端口,可以用下面的形势执行察看:

[root@bogon vipx]# netstat -at

Active Internet connections (servers and established)

Proto Recv-Q Send-Q Local Address Foreign Address State

Hostname

表示hostname和设置hostname用的,在不跟随任何选项被执行的情形下,将表示现在的hostname,例如下面的输出:

[root@bogon vipx]# hostname

bogon

如果是root的登陆情形下,可以更改hostname,例如我们把现在的hostname改称centos的情形如下:

@bogon vipx]# hostname

centos

[root@bogon vipx]#

ping

这条命令是通过向目标地址发送ICMP信息包的方式,来确定目标主机是否在工作或网络联通与否。参数是目标主机的IP地址,

例如我们要知道自己的主机的网络配置是否正常,可通过ping自己主机来判断,情形如下:

[root@bogon vipx]# ping localhost

PING localhost (127.0.0.1) 56(84) bytes of data.

64 bytes from localhost (127.0.0.1): icmp_seq=1 ttl=64 time=0.096 ms

64 bytes from localhost (127.0.0.1): icmp_seq=2 ttl=64 time=0.076 ms

64 bytes from localhost (127.0.0.1): icmp_seq=3 ttl=64 time=0.071 ms

64 bytes from localhost (127.0.0.1): icmp_seq=4 ttl=64 time=0.061 ms

64 bytes from localhost (127.0.0.1): icmp_seq=5 ttl=64 time=0.073 ms

64 bytes from localhost (127.0.0.1): icmp_seq=6 ttl=64 time=0.073 ms

64 bytes from localhost (127.0.0.1): icmp_seq=7 ttl=64 time=0.031 ms

64 bytes from localhost (127.0.0.1): icmp_seq=8 ttl=64 time=0.041 ms

64 bytes from localhost (127.0.0.1): icmp_seq=9 ttl=64 time=0.046 ms

^C

--- localhost ping statistics ---

9 packets transmitted, 9 received, 0% packet loss, time 8001ms

rtt min/avg/max/mdev = 0.031/0.063/0.096/0.019 ms

// 注意这个地方有一个0%表示网络正常,当此处的X%的X是0以外的数字就表明网络有问题,或者当ping 命令被执行后,将会显示time out之类的字样。

Ping命令的主要选项如下:

-c 数目在发送指定数目的包后停止。

-d 设定SO_DEBUG的选项。

-f 大量且快速地送网络封包给一台机器,看它的回应。

-I 秒数设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。

-l 次数在指定次数内,以最快的方式送封包数据到指定机器(只有超级用户可以使用此选项)。

-q 不显示任何传送封包的信息,只显示最后的结果。

-r 不经由网关而直接送封包到一台机器,通常是查看本机的网络接口是否有问题。

-s 字节数指定发送的数据字节数,预设值是56,加上8字节的ICMP头,一共是64ICMP数据字节。

更多信息和更多的命令可以在使用的过程中一点点学习,遇到问题的时候可以通过

#man命令

的形式来查看命令的用法