参考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命令
的形式来查看命令的用法