Linux中的ping 命令与Windows中的ping 命令一样,其作用和用法是一样的,该命令用于检测主机,测试网络连接量(测试网络的连通性)
,其原理是ICMP(Internet 报文控制协议)。
ping 是工作在 TCP/IP网络体系结构中应用层的一个服务命令, 主要是向特定的目的主机发送一个 ICMP Echo 请求报文,接收请求的目的主机使用ICMP发回其接收数据一样的数据,这时ping就对每个包的发送和接收报告往返时间,并报告无响应包的百分比,这在确定网络是否正确连接以及网络连接的状况(丢失率)很有用。
该命令可带参数,后跟主机名称或IP地址,ping 命令的格式如下:
ping [-option] hostname/IP address
1、例如通过ping命令测试到百度的网络的连通性,ping 命令不带任何参数:
[yyx329@192 ~]$ ping www.baidu.com
在Linux终端中输入命令,它会一直测试,直到用户通过CTRL+C停止:
2、可以通过在ping 命令后加参数-c
,后跟数值,即可设置测试完成要求回应的次数,例如通过ping命令测试到百度的网络的连通性,测试次数为3次:
[yyx329@192 ~]$ ping -c 3 www.baidu.com
在Linux终端中输入命令,可看到完成三次测试后自动退出:
Linux中的ping与Windows有些不一样,Linux系统会一直测试,直到用户通过CTRL+C停止从而得到相应的测试结果,Windows中的ping 命令:
Linux中的ping 命令:
3、一般常用的ping 命令是这种格式:发送周期为X秒,大小为Y包,另设置其TTL值为Z(TTL为生存时间)。
(1)发送周期通过参数 -i
设置,周期以s为单位;
(2)发送包大小通过参数 -s
设置,大小为byte;
(3)TTL的值通过参数 -t
设置。
例如通过ping命令测试到百度的网络的连通性,发送周期为3秒,测试次数为5次,包的大小为255byte,TTL值为255:
[yyx329@192 ~]$ ping -i 3 -c 5 -s 255 -t 255 www.baidu.com
在Linux终端中输入命令,每次发送包的间隔时间为3s:
ping 命令显示的结果中各项含义如下(以上例为例):
nslookup 命令用于查询域名信息,诊断域名系统(在网络故障时诊断网络问题)
,在Linux中它与Windows中的该命令的作用和用法是一样的。
该命令可带参数,后跟主机名称或IP地址,ping 命令的格式如下:
ping [-option] hostname [dns-server]
该命令有两种方式进行查询,分别是交互式和非交互式,简单的来说也就是一种方式可以实现单次查询【非交互式】,另一种方式可以实现多次的连续查询【交互式】(交换式查询时若想退出可通过exit
命令退出),这两种方式Linux与Windows都可以使用。
1、非交互式
例如通过nslookup 命令非交互式不带参数查询到百度www.baidu.com,使用的是系统默认的DNS服务器,实现单次查询:
[yyx329@192 ~]$ nslookup www.baidu.com
在Linux终端中输入命令:
2、交互式
例如通过nslookup 命令交互式不带参数查询到百度 www.baidu.com以及CSDN www.csdn.net,使用的是系统默认的DNS服务器,实现多次查询:
[yyx329@192 ~]$ nslookup > www.baidu.com ... > www.csdn.net ... > exit
在Linux终端中输入命令,最后通过exit命令退出:
通过nslookup 查询出的结果中各项含义如下(以交互式中查询百度为例):
Linux中的ifconfig 命令除了用于查看、配置、启用或禁用网络接口
,显示当前的TCP/IP网络配置
,还可以配置网络接口的IP地址、掩码、广播地址、网关等
。
该命令的一般格式如下:
ifconfig [-option] name
1、查看当前网络接口状态
不带任何参数,直接通过ifconfig 命令查看主机当前网络接口状态
,如下:
[yyx329@192 ~]$ ifconfig
在Linux终端中输入命令:
2、查看单个网络接口状态
可以通过在ifconfig 命令后跟网络接口名称直接查看单个网络接口状态
,格式如下:
ifconfig Network-Interface
例如查看网络接口ens33的状态,命令如下:
[yyx329@192 ~]$ ifconfig ens33
在Linux终端中输入命令:
3、查看所有网络接口状态
若想通过ifconfig 命令查看主机的所有网络接口状态
,可以通过参数-a
:
[yyx329@192 ~]$ ifconfig -a
在Linux终端中输入命令:
1、开启/关闭相关的网络接口
通过ifconfig 命令开启/关闭相关的网络接口
,在相应的网络接口后跟up/down(开启/关闭),它的格式如下:
ifconfig Network-Interface up/down
例如关闭网络接口ens33,需在root权限下执行该操作,否则系统会报错,如下命令:
[yyx329@192 ~]$ ifconfig ens33 down ... [yyx329@192 ~]$ su root ... [root@192 yyx329]# ifconfig ens33 down [root@192 yyx329]# ifconfig
在Linux终端中输入命令:
再打开ens33网络接口:
[root@192 yyx329]# ifconfig ens33 up
ifdown 命令和ifup 命令相当于ifconfig 命令中的up/down,其作用也是开启/关闭相关的网络接口,它们分别指向/sbin/ifup和/sbin/ifdown的符号连接,这两个命令也是一样在root权限下才能使用,如下:
[yyx329@192 ~]$ ifdown ens33 .. [yyx329@192 ~]$ su root .. [root@192 yyx329]# ifconfig ens33 .. [root@192 yyx329]# ifdown ens33 .. [root@192 yyx329]# ifconfig ens33 .. [root@192 yyx329]# ifup ens33
在Linux终端中输入命令,可看到使用命令前后ens33网络接口的变化:
2、配置网络接口
通过ifconfig 命令可以配置网络接口的IP地址、掩码地址、网关、物理地址等等,其格式如下,依次配置的是物理地址hw、IP地址、广播地址broadcast、掩码地址netmask:
ifconfig Network-Interface [hw] ether Mac-address IP-address [broadcast] broadcast-address [netmask] mask-address
例如配置ens33网络接口,首先关闭该接口,然后配置它的IP地址为192.168.1.124、广播地址为192.168.1.255和掩码为255.255.255.0,配置好后再打开接口,如下命令:
[yyx329@192 ~]$ su root [root@192 yyx329]# ifdown ens33 .. [root@192 yyx329]# ifconfig ens33 192.168.1.124 broadcast 192.168.1.255 netmask 255.255.255.0 ... [root@192 yyx329]# ifup ens33
Linux允许配置虚拟网络接口,也就是为一个网络接口指定多个IP地址
,其格式为eth0:0,eth0:1,eth0:2,…,eth0:N,其中配置物理地址、IP地址、广播地址、掩码与配置网络接口一样。
netstat 命令用于显示路由表、实际的网络连接、网络接口的状态以及协议相关的统计数据,即显示网络状态
。
该命令后跟的常用参数如下表:
参数 | 作用 |
---|---|
-a | 显示所有网络状况 |
-r | 显示路由表(与route命令结果一样) |
-n | 直接使用IP地址,而不通过域名服务器 |
-t | 显示TCP协议的连线状况 |
-u | 显示UDP协议的连线状况 |
-s | 显示网络统计信息 |
-i | 显示网卡列表信息 |
-l | 显示监听的套接口 |
(1)例如通过该命令显示所有网络状况,如下命令:
[yyx329@192 ~]$ netstat -a
在Linux终端中输入命令:
(2)例如通过netstat 命令和route 命令显示路由表,如下:
[yyx329@192 ~]$ netstat -r ... [yyx329@192 ~]$ route ...
在Linux终端中输入命令,可看出两个命令的输出结果是一样的:
(3)例如通过该命令显示TCP协议和UDP协议的连线状况:
[yyx329@192 ~]$ netstat -t ... [yyx329@192 ~]$ netstat -u ...
在Linux终端中输入命令:
(4)例如通过该命令显示网络统计信息:
[yyx329@192 ~]$ netstat -s
在Linux终端输入命令,可看出有各种协议的统计信息(如IP、ICMP、TCP、UDP等):
(5)例如通过该命令显示网卡列表信息(netstat -i)和监听的套接口信息(netstat -l):
[yyx329@192 ~]$ netstat -i ... [yyx329@192 ~]$ netstat -l ...
在Linux终端输入命令:
route 命令用于显示和设置路由表
,其格式为:
route [-opation] target
1、route 命令不带参数时显示系统当前的路由信息
,例如:
[yyx329@192 ~]$ route
其中栏目中的含义如下(以第一行为例):
名称 | 解释 |
---|---|
Destination | 目标网络地址或主机 |
Gateway | 网关 |
Genmask | 掩码 |
Flags | 标识位 |
Metric | 跳数 |
Ref | 引用次数 |
Use | 被路由软件查询的次数 |
Iface | 网络接口 |
(1)Destination:路由表条目中目标网络地址,若一个IP数据包的目的地址是目标列中的某个网络范围,则该数据包会按此路由表条目进行路由
。
(2)Gateway:网关,通常用“*
”或默认网关地址
表示,*表示目标网络就是主机接口所在的网络
,从而不需要路由;默认网关则将所有去往非本地的流量都发送到一个指定的IP地址
。
(3)Genmask:掩码,用于子网划分,与IP地址结合使用,将IP地址划分成网络地址和主机地址两部分。
(4)Flags:信息标识,用于表明路由的状态
,共9个,常用的标识有以下:
标识名称 | 路由状态 |
---|---|
U | 路由已启动 |
H | 目标网络为一个主机 |
G | 路由经过网关转发 |
R | 使用动态路由时,恢复路由的标识 |
D | 由服务功能设定的动态路由 |
M | 路由已被修改 |
! | 路由不会被接收 |
(5)Metric:到达指定网络所需的跳数。
(6)Ref:该路由的引用次数。
(7)Use:路由器被路由软件查询的次数。
(8)Iface:到指定网络的数据包所发送到的网络接口。
2、route 命令后跟参数,它的基本参数有:
参数 | 作用 |
---|---|
add | 添加路由 |
del | 删除路由 |
-net | 表明路由到达的是一个网络,而不是一台主机 |
-host | 表明路由达到的是一台主机 |
netmask [mask] | 指定目标网络的子网掩码 |
gw | 指定路由使用的网关 |
dev [Iface] | 指定路由使用的网络接口 |
例如下列命令,添加到主机的路由,其IP地址为192.168.75.3,其网络接口为ens33,然后删除该路由:
[yyx329@192 ~]$ su root ... [root@192 yyx329]# route ... [root@192 yyx329]# route add -host 192.168.75.3 dev ens33 [root@192 yyx329]# route ... [root@192 yyx329]# route del -host 192.168.75.3 dev ens33
在Linux中输入命令:
例如下列命令,服务器到达172.28.27.0/24的网络通过一个地址为172.28.3.254的路由器,添加一个静态路由:
[yyx329@192 ~]$ su root ... [root@192 yyx329]# route add -net 172.28.27.0 netmask 255.255.255.0 gw 172.28.3.254
若添加一条默认路由,如下命令:
[yyx329@192 ~]$ su root ... [root@192 yyx329]# route add -net 0.0.0.0 netmask 0.0.0.0 gw 172.28.3.254
例如添加一个网关IP地址为224.0.0.0,掩码为240.0.0.0,网络接口为ens33,命令如下:
[yyx329@192 ~]$ route ... [yyx329@192 ~]$ su root ... [root@192 yyx329]# route add -net 224.0.0.0 netmask 240.0.0.0 dev ens33 [root@192 yyx329]# route ...
在Linux终端输入命令:
Linux中的traceroute 命令与Windows的tracert命令类似,用于确定IP数据包访问目标所采取的路径(数据包从源主机到达目的主机的中间路径)
,通过 IP 生存时间 (TTL)字段和 ICMP 错误消息来确定。
1、该命令不带参数时,例如显示到达CSDN www.csdn.net的数据包路由采取的中间路径,如下命令:
[yyx329@192 ~]$ traceroute www.csdn.net
在Linux中输入命令:
2、traceroute命令后跟参数有以下常用参数:
(1)该命令带参数-i
后跟网络接口时,指定使用的网络接口发送数据包;
(2)带参数-q
时后跟数值设置检测数据包的个数;
(3)带参数-m
后跟数值设置跳数(检测数据包的最大存活数值TTL的大小);
(4)带参数-t
后跟数值设置检测数据包的TOS数值;
(5)带参数-w
后跟时间设置等待远端主机回报的时间;
(6)带参数-s
后跟IP地址表示本地主机送出数据包的IP地址;
(7)命令后跟参数-r
可忽略普通的路由表,直接将数据包送到远端主机上;
(8)后跟参数-n
可直接使用IP地址,而非主机名称。
如下命令:
[yyx329@192 ~]$ traceroute -q 5 -m 6 www.csdn.net
在Linux中输入命令: