【Linux】网络相关的命令

目录

[① ip addr show](#① ip addr show)

[② ip route show](#② ip route show)

[③ iptables -nvL](#③ iptables -nvL)

[④ ping -I enx00e04c6666c0 192.168.1.100](#④ ping -I enx00e04c6666c0 192.168.1.100)

[⑤ ip route get 192.168.1.100](#⑤ ip route get 192.168.1.100)

[⑥ sudo ip addr add dev enx00e04c6666c0 192.168.1.101/24](#⑥ sudo ip addr add dev enx00e04c6666c0 192.168.1.101/24)

[⑦ ifconfig](#⑦ ifconfig)

[⑧ netstat](#⑧ netstat)

[⑨ traceroute](#⑨ traceroute)

[⑩ nslookup](#⑩ nslookup)



ip addr show

用于**++++显示网络接口++++** 的详细信息。这条命令可以帮助用户查看系统的网络配置,包括++++IP地址、子网掩码、MAC地址、网络接口的状态(如UP或DOWN)++++等重要信息。

每个网络接口通常会有以下几项关键数据

接口名称:如eth0、wlan0、lo等,分别代表以太网接口、无线网络接口和回环接口。

状态:表明接口是否正在运行(UP)或者关闭(DOWN)。

硬件地址 :即MAC地址,用于++++在物理层唯一标识网络设备++++。

IP地址:分配给接口的IPv4或IPv6地址。

广播地址:在局域网内广播数据包的目标地址。

子网掩码:用于确定IP地址的网络部分和主机部分。

ip route show

主要用于显示当前系统的**++++路由表信息++++**。路由表是操作系统用来决定数据包转发路径的一个数据库,它包含了到达网络中不同目的地的路由信息。通过执行 ip route show 命令,可以查看系统是如何确定数据包的下一跳地址,以及如何将数据包发送到目的网络的。

■当在终端中运行 ip route show 命令时,系统会列出所有的路由规则,包括但不限于

默认路由:这是系统用于发送到未知目的地的数据包的路由。默认路由通常指向一个网关,所有未被其他路由规则匹配的数据包都会被转发到这个网关。

直连路由:这些路由对应于本地网络接口直接连接的网络。对于这些网络,数据包可以直接发送到目标,无需经过任何中间路由器。

静态路由:这些是由管理员手动配置的路由,用于指定特定目的地的固定路径。静态路由在小型网络或特定需求的场景下非常有用。

动态路由:这些路由是通过动态路由协议(如RIP、OSPF或BGP)自动发现的。动态路由允许网络中的路由器自动交换路由信息,以便在网络拓扑发生变化时自动更新路由表。

示例:

default via 192.168.1.1 dev eth0 proto dhcp

默认路由通过192.168.1.1这个网关,使用eth0接口,并且这个网关是通过DHCP协议获得的

192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.2

直连路由192.168.1.0/24网络,数据包可以通过eth0接口直接发送,源地址是192.168.1.2

169.254.0.0/16 dev eth0 scope link metric 1002

169.254.0.0/16网络的路由也是通过eth0接口,但其优先级较低,因为metric值为1002

iptables -nvL

用于列出(List)当前系统中设置的所有**++++iptables防火墙规则++++**。这个命令可以帮助系统管理员检查防火墙的配置,确保网络流量按照预期的方式被过滤和处理。

■ 命令解析

iptables:是Linux中用于管理网络数据包过滤规则的工具。

-n:选项表示显示数字形式的地址和端口,而不是尝试解析它们为域名或服务名。

-v:选项表示详细模式,它会显示额外的信息,如数据包和字节的计数。

-L:选项表示列出(List)当前的iptables规则。

■ 当运行 iptables -nvL 命令时,系统会显示所有链(Chain)的规则列表,包括但不限于:

INPUT:用于处理进入本地系统的所有数据包。

FORWARD:用于处理在系统间转发的数据包。

OUTPUT:用于处理从本地系统发出的数据包。

PREROUTING 和 POSTROUTING :这两个链是****NAT(Network Address Translation)****规则的一部分,分别用于在数据包到达之前和离开之后进行地址转换。

■ 输出通常会包含以下信息:

链名:如INPUT、FORWARD、OUTPUT等。

策略:默认情况下,如果没有任何规则匹配数据包,iptables会根据链的默认策略(如ACCEPT或DROP)来处理数据包。

数据包计数:通过该规则的数据包数量。

字节计数:通过该规则的数据总量。

目标:规则的最终动作,如ACCEPT、DROP、REJECT等。

协议:数据包的协议类型,如TCP、UDP、ICMP等。

源地址:数据包的源IP地址。

目标地址:数据包的目标IP地址。

端口号:数据包的源端口和目标端口。

匹配条件:数据包必须满足的其他条件,如特定的标志位或数据包长度。

ping -I enx00e04c6666c0 192.168.1.100

在Linux系统中使用ping工具来**++++测试从特定网络接口到指定IP地址的网络连通性++++**。

■ 解析这个命令:

ping:这是一个用于检查网络设备之间连通性的标准工具。它通过向目标主机发送ICMP(Internet Control Message Protocol)回显请求(Echo Request)数据包,然后等待接收回显应答(Echo Reply)数据包,以此来判断网络的可达性和响应时间。

-I enx00e04c 6666 c0:用于指定ping命令应该从哪个网络接口发送数据包。这里的enx00e04c6666c0是网络接口的名字,通常反映了接口的类型和MAC地址的一部分。通过这个选项,可以确保ping请求是从正确的接口发出的,这对于有多块网卡或多接口的系统尤其重要。

192.168.1.100:这是ping命令的目标地址,即想要测试连通性的远程主机的IP地址。在这个例子中,目标是位于192.168.1.x子网中的某台设备。

■ 当执行这个命令时,系统会从名为enx00e04c6666c0的网络接口发送ICMP回显请求数据包到IP地址为192.168.1.100的主机。

■ 输出中会显示从目标主机接收到的回显应答数据包的统计信息,包括数据包大小、序列号、TTL(Time To Live)值和往返时间(time),这些信息可以帮助判断网络延迟和丢包情况。如果没有收到回应 ,可能是因为目标主机的防火墙阻止了ICMP数据包,或者网络连接有问题。在这种情况下,将看到类似"Request timed out "或"Destination Host Unreachable"的错误消息。

ip route get 192.168.1.100

用于查询达到特定目标IP地址(在这个例子中是192.168.1.100)的最佳路由路径。

■ 相比于ip route show ,这个命令提供了++++更详细的路由信息++++,包括源地址、下一跳地址、出站接口、路由的来源以及其他细节,这些信息对于网络诊断和理解数据包如何在网络中传输非常重要。

■ 当执行ip route get 192.168.1.100时,系统会返回一条或多条路由信息,具体取决于网络配置和路由表。输出通常包含以下信息:

源地址:系统将从哪个本地IP地址发送数据包。

下一跳地址:数据包离开本地网络后的下一个目的地IP地址。

出站接口 :数据包将从哪个++++网络接口++++发送出去。

路由来源:路由条目是通过哪种方式获得的,比如静态配置、动态路由协议或直连网络。

标记:与路由相关的额外信息,如路由的优先级或标记。

sudo ip addr add dev enx00e04c6666c0 192.168.1.101/24

在Linux系统中++++给指定的网络接口分配一个新的IP地址++++。

■ 解析这个命令:

sudo:权限提升工具,允许普通用户执行需要root权限的命令。这是因为修改网络配置通常需要超级用户权限。

ip addr add:ip命令的子命令,用于添加新的网络地址到网络接口。ip命令是Linux中用于网络配置的强大工具,可以替代旧的ifconfig命令。

dev enx00e04c6666c0 :指定要操作的**++++网络接口++++**。enx00e04c6666c0是网络接口的名称,它通常反映了接口的类型和MAC地址的一部分。

192.168.1.101/24:要添加的新IP地址及其子网掩码。网络前缀为192.168.1.,而后面的部分是主机地址。

■ 当执行这个命令时,系统会++++在enx00e04c6666c0网络接口上添加一个新的IP地址192.168.1.101,并且子网掩码为255.255.255.0(这等价于/24)++++。这意味着该接口现在可以使用这个地址进行网络通信,包括发送和接收数据包。

需要注意的是,修改网络接口的配置可能会影响现有的网络连接,所以在生产环境中进行此类操作时应格外小心。

ifconfig

ifconfig:虽然在某些系统中可能被ip命令取代,但仍然可以用于显示和配置++++网络接口++++的基本信息。

ifconfig emac0 192.168.1.100

用于在Linux系统中手动配置网络接口emac0的IP地址为192.168.1.100。

■ 命令解析

ifconfig:是一个用于配置和显示网络接口的命令行工具。

emac0 :是要配置的++++网络接口++++名称。在不同的系统中,网络接口的命名可能会有所不同,如eth0、enp0s3等。

192.168.1.100:是分配给emac0接口的IP地址。

■ 当执行ifconfig emac0 192.168.1.100时,emac0接口的IP地址将被设置为192.168.1.100。但是,需要注意的是,仅仅设置IP地址可能不足以使网络接口完全可用。为了使网络接口正常工作,可能还需要做以下几步:

设置子网掩码 :通常需要与IP地址一起设置子网掩码,例如++++ifconfig emac0 192.168.1.100++++ ++++netmask++++ ++++255.255.255.0++++ 。或者使用CIDR表示法,如++++ifconfig emac0 192.168.1.100++++ ++++/24++++

激活接口 :确保网络接口处于激活状态,使用++++ifconfig emac0 up++++来激活接口。

配置默认网关:为了让系统能够访问外部网络,可能需要配置默认网关,这通常通过route或ip route命令完成。

保存配置 :如果想要这些配置在系统重启后仍然生效,需要将它们保存到系统配置文件中,这通常涉及到编辑****/etc/network/interfaces****或使用网络管理工具如NetworkManager。

⑧ netstat

显示网络连接、路由表、接口统计信息等。

■ netstat 命令有许多选项,以下是一些最常用的:

▲-a:显示所有活动的连接,包括监听连接。

▲-n:以数字形式显示地址和端口号,不进行域名和协议名称的解析。

▲-l:只显示监听状态的连接。

▲-p:显示连接所属的程序名称或进程ID。

▲-t:只显示TCP连接。

▲-u:只显示UDP连接。

▲-r:显示路由表。

⑨ traceroute

跟踪数据包到达目标主机的路径,显示沿途经过的路由器。

■ 在命令行中使用traceroute的基本语法

traceroute [选项] 目标主机名或IP地址

常用选项

▲-n:使用数字形式显示主机名,不进行DNS解析。

▲-m 跳数:设置最大跳数,超过这个跳数的数据包将被丢弃。

▲-w 超时秒数:设置等待每次回复的超时时间。

▲-q 数据包数:设置每个TTL值下发送的数据包数量。

⑩ nslookup

查询DNS服务器,获取域名对应的IP地址。

■ 在命令行中使用nslookup的基本语法如下:

nslookup [选项] [hostname]

常用选项

▲-query=TYPE:指定查询的DNS记录类型,如A(IPv4地址)、AAAA(IPv6地址)、MX(邮件交换)、NS(名称服务器)等。

▲server IP:指定DNS查询应通过的特定DNS服务器。

至此,本文分享的内容就结束啦。

相关推荐
weixin_4426434223 分钟前
FileLink如何帮助医疗行业实现安全且高效的跨网文件交换
网络·安全·web安全·filelink跨网文件交换
huaqiwangan24 分钟前
什么是安全威胁情报?
网络·安全
knighthood20011 小时前
ros中仿真编写launch时robot_state_publisher,output参数
c++·ubuntu·ros
Tassel_YUE1 小时前
网络自动化03:简单解释send_config_set方法并举例
网络·自动化·cocoa
hope_wisdom1 小时前
C++网络编程之IO多路复用(一)
网络·c++·select·io多路复用
Linux运维老纪2 小时前
K8s资源对象监控之kube-state-metrics详解(Detailed Explanation of Kube State Metrics)
网络·安全·云原生·容器·kubernetes·云计算·运维开发
Yvemil72 小时前
使用 JWT 实现安全认证的技术详解
网络
T0uken3 小时前
【ESP32+MicroPython】网络编程基础
网络·python·esp32
K1t03 小时前
dns欺骗
开发语言·网络·php