(*长期更新)软考网络工程师学习笔记——Section 13 Linux网络配置命令

简介: (*长期更新)软考网络工程师学习笔记——Section 13 Linux网络配置命令

一、*ping 命令


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停止:

1667143133593.jpg


2、可以通过在ping 命令后加参数-c,后跟数值,即可设置测试完成要求回应的次数,例如通过ping命令测试到百度的网络的连通性,测试次数为3次:

[yyx329@192 ~]$ ping -c 3 www.baidu.com


在Linux终端中输入命令,可看到完成三次测试后自动退出:

1667143153390.jpg


Linux中的ping与Windows有些不一样,Linux系统会一直测试,直到用户通过CTRL+C停止从而得到相应的测试结果,Windows中的ping 命令:

1667143170930.jpg

Linux中的ping 命令:

1667143179608.jpg


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:

1667143205698.jpg

ping 命令显示的结果中各项含义如下(以上例为例):

1667143215155.jpg


二、*nslookup 命令


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终端中输入命令:

1667143240121.jpg

2、交互式

例如通过nslookup 命令交互式不带参数查询到百度 www.baidu.com以及CSDN www.csdn.net,使用的是系统默认的DNS服务器,实现多次查询:

[yyx329@192 ~]$ nslookup
> www.baidu.com
...
> www.csdn.net
...
> exit


在Linux终端中输入命令,最后通过exit命令退出:

1667143266591.jpg

通过nslookup 查询出的结果中各项含义如下(以交互式中查询百度为例):

1667143275900.jpg


三、ifconfig 命令


Linux中的ifconfig 命令除了用于查看、配置、启用或禁用网络接口,显示当前的TCP/IP网络配置,还可以配置网络接口的IP地址、掩码、广播地址、网关等。

该命令的一般格式如下:

ifconfig [-option] name


(一)查看网络接口状态


1、查看当前网络接口状态

不带任何参数,直接通过ifconfig 命令查看主机当前网络接口状态,如下:

[yyx329@192 ~]$ ifconfig


在Linux终端中输入命令:

1667143316504.jpg

2、查看单个网络接口状态

可以通过在ifconfig 命令后跟网络接口名称直接查看单个网络接口状态,格式如下:

ifconfig Network-Interface


例如查看网络接口ens33的状态,命令如下:

[yyx329@192 ~]$ ifconfig ens33


在Linux终端中输入命令:

1667143342415.jpg

3、查看所有网络接口状态


若想通过ifconfig 命令查看主机的所有网络接口状态,可以通过参数-a:

[yyx329@192 ~]$ ifconfig -a


在Linux终端中输入命令:

1667143367118.jpg


(二)配置网络接口


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终端中输入命令:

1667143407486.jpg

再打开ens33网络接口:

[root@192 yyx329]# ifconfig ens33 up


ifdown 命令和ifup 命令

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网络接口的变化:

1667143451259.jpg


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 命令


netstat 命令用于显示路由表、实际的网络连接、网络接口的状态以及协议相关的统计数据,即显示网络状态。

该命令后跟的常用参数如下表:

参数 作用
-a 显示所有网络状况
-r 显示路由表(与route命令结果一样)
-n 直接使用IP地址,而不通过域名服务器
-t 显示TCP协议的连线状况
-u 显示UDP协议的连线状况
-s 显示网络统计信息
-i 显示网卡列表信息
-l 显示监听的套接口


(1)例如通过该命令显示所有网络状况,如下命令:

[yyx329@192 ~]$ netstat -a


在Linux终端中输入命令:

1667143521959.jpg

(2)例如通过netstat 命令和route 命令显示路由表,如下:

[yyx329@192 ~]$ netstat -r
...
[yyx329@192 ~]$ route
...


在Linux终端中输入命令,可看出两个命令的输出结果是一样的:

1667143553521.jpg

(3)例如通过该命令显示TCP协议和UDP协议的连线状况:

[yyx329@192 ~]$ netstat -t  
...
[yyx329@192 ~]$ netstat -u
...


在Linux终端中输入命令:

1667143571228.jpg

(4)例如通过该命令显示网络统计信息:

[yyx329@192 ~]$ netstat -s


在Linux终端输入命令,可看出有各种协议的统计信息(如IP、ICMP、TCP、UDP等):

1667143586557.jpg

(5)例如通过该命令显示网卡列表信息(netstat -i)和监听的套接口信息(netstat -l):

[yyx329@192 ~]$ netstat -i
...
[yyx329@192 ~]$ netstat -l
...


在Linux终端输入命令:

1667143609236.jpg


五、route 命令


route 命令用于显示和设置路由表,其格式为:

route [-opation] target


1、route 命令不带参数时显示系统当前的路由信息,例如:

[yyx329@192 ~]$ route

1667143651166.jpg

其中栏目中的含义如下(以第一行为例):

1667143670226.jpg

名称 解释
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中输入命令:

1667144029167.jpg

例如下列命令,服务器到达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终端输入命令:

1667144040956.jpg


六、traceroute 命令


Linux中的traceroute 命令与Windows的tracert命令类似,用于确定IP数据包访问目标所采取的路径(数据包从源主机到达目的主机的中间路径),通过 IP 生存时间 (TTL)字段和 ICMP 错误消息来确定。

1、该命令不带参数时,例如显示到达CSDN www.csdn.net的数据包路由采取的中间路径,如下命令:

[yyx329@192 ~]$ traceroute www.csdn.net


在Linux中输入命令:

1667144051750.jpg

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中输入命令:

1667144069025.jpg

相关文章
|
2月前
|
应用服务中间件 nginx Docker
【与时俱进】网络工程师必备技能:Docker基础入门指南,助你轻松应对新时代挑战!
【8月更文挑战第22天】随着容器技术的发展,Docker已成为开发与运维的关键工具。本文简要介绍Docker——一种开源容器化平台,能让应用程序及依赖项被打包成轻量级容器,在任何Linux或Windows机器上运行。文中涵盖Docker的安装步骤、基础命令操作如启动服务、查看版本、拉取与运行容器等。并通过实例演示了如何运行Nginx服务器和基于Dockerfile构建Python Flask应用镜像的过程。这些基础知识将助力网络工程师理解Docker的核心功能,并为实际应用提供指导。
56 2
|
14天前
|
监控 网络协议 Linux
网络管理:基本的网络配置与管理指南
网络管理:基本的网络配置与管理指南
35 2
|
2月前
|
图形学 C#
超实用!深度解析Unity引擎,手把手教你从零开始构建精美的2D平面冒险游戏,涵盖资源导入、角色控制与动画、碰撞检测等核心技巧,打造沉浸式游戏体验完全指南
【8月更文挑战第31天】本文是 Unity 2D 游戏开发的全面指南,手把手教你从零开始构建精美的平面冒险游戏。首先,通过 Unity Hub 创建 2D 项目并导入游戏资源。接着,编写 `PlayerController` 脚本来实现角色移动,并添加动画以增强视觉效果。最后,通过 Collider 2D 组件实现碰撞检测等游戏机制。每一步均展示 Unity 在 2D 游戏开发中的强大功能。
84 6
|
1月前
|
缓存 运维 监控
|
2月前
|
存储 Linux Shell
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
在Linux中,如何使用脚本,实现判断 192.168.1.0/24 网络里,当前在线的 IP 有哪些?能ping 通则 认为在线。
|
2月前
|
监控 安全 网络协议
【网络工程师必备神器】锐捷设备命令大全:一文在手,天下我有!
【8月更文挑战第22天】锐捷网络专攻网络解决方案,其设备广泛应用在教育、政府及企业等领域。本文汇总了锐捷设备常用命令及其应用场景:包括登录与退出设备、查看系统状态、接口与VLAN配置、路由与QoS设定、安全配置及日志监控等。通过示例如telnet/ssh登录、display命令查看信息、配置IP地址与VLAN、设置静态路由与OSPF、限速与队列调度、端口安全与ACL、SNMP监控与重启设备等,助力工程师高效管理与维护网络。
52 4
|
2月前
|
监控 网络协议 Linux
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
|
2月前
|
运维 监控 网络协议
在Linux中,如何进行网络故障排查?
在Linux中,如何进行网络故障排查?
|
2月前
|
安全 网络安全 网络虚拟化
网络工程师必知的神秘术语大全究竟藏着哪些关键信息?快来一探究竟!
【8月更文挑战第22天】这份最新整理的网络技术中英文术语大全对于网络工程师来说是一份宝贵的资源。它可以帮助网络工程师更好地理解和掌握网络技术,提高工作效率,解决各种网络问题。无论是在网络规划、设计、实施还是维护阶段,这些术语都将发挥重要的作用。让我们一起收藏这份术语大全,为网络技术的学习和实践打下坚实的基础。
43 1
|
2月前
|
网络协议 Linux 网络安全
网络工程师的福音!三分钟快速上手这款强大的网络设备模拟器:PNETLab!
【8月更文挑战第22天】PNETLab是一款强大的开源网络设备模拟器,支持多种网络设备如交换机、路由器、防火墙等的模拟,以及TCP/IP等多种协议。用户可通过直观的界面创建网络拓扑、配置设备参数,进行网络测试以验证连通性和排查故障,并能导出结果便于分享与分析,为学习和工作提供高效工具。
62 1
下一篇
无影云桌面