【Linux】网络相关的命令

server/2024/11/13 20:21:15/

目录

① ip addr show

② ip route show

③ iptables -nvL

④ ping -I enx00e04c6666c0 192.168.1.100

⑤ ip route get 192.168.1.100

⑥ sudo ip addr add dev enx00e04c6666c0 192.168.1.101/24

⑦ ifconfig

⑧ netstat

⑨ traceroute

⑩ 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 enx00e04c6666c0:用于指定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服务器。

 

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

 


http://www.ppmy.cn/server/140975.html

相关文章

Java基础-JDBC

(创作不易,感谢有你,你的支持,就是我前行的最大动力,如果看完对你有帮助,请留下您的足迹) 目录 一、JDBC简介 1.1 什么是JDBC 1.2 JDBC的作用 1.3 JDBC的架构 二、JDBC核心接口与类 2.1 DriverManag…

Redhat8.6安装MySQL8.0.31

下载安装包链接https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz 下载安装包 wget https://dev.mysql.com/get/Downloads/MySQL-8.0/mysql-8.0.31-linux-glibc2.12-x86_64.tar.xz 1.解压文件 tar -xvf mysql-8.0.31-linux-g…

C++学习笔记----11、模块、头文件及各种主题(一)---- 模板概览与类模板(3)

2.1.2.2、Grid类模板成员函数定义 template <typename T>模板头必须放在Grid类模板的每个成员函数定义前面。构造函数看起来像这样&#xff1a; template <typename T> Grid<T>::Grid(std::size_t width, std::size_t height) : m_width { width }, m_heigh…

(蓝桥杯C/C++)——基础算法(下)

目录 一、时空复杂度 1.时间复杂度 2.空间复杂度 3.分析技巧 4.代码示例 二、递归 1.递归的介绍 2.递归如何实现 3.递归和循环的比较 4.代码示例 三、差分 1.差分的原理和特点 2.差分的实现 3.例题讲解 四、枚举 1.枚举算法介绍 2.解空间的类型 3. 循环枚举解…

3. Redis的通用命令介绍

Redis作为一个高效的键值对存储系统&#xff0c;不仅支持多种数据结构&#xff0c;还提供了丰富的通用命令&#xff0c;这些命令适用于各种场景。本文将详细介绍Redis的常用通用命令&#xff0c;并结合具体应用场景&#xff0c;帮助你理解这些命令的功能与使用时机。 1. 键(key…

【Zynq FPGA】基于 Zynq FPGA 的雷龙 SD NAND 测试

对于芯片正常读写的测试结果&#xff0c;还是很让人满意的&#xff0c;芯片的价格也很合理。并且LGA-8封装更适合无卡槽的嵌入式开发板设计&#xff0c;在一定的应用领域有着简化硬件设计、减小硬件面积的功能。贴上测试工程的链接&#xff0c;还迎复现实验: https://gitee.com…

高校宿舍信息管理系统小程序

作者主页&#xff1a;编程千纸鹤 作者简介&#xff1a;Java领域优质创作者、CSDN博客专家 、CSDN内容合伙人、掘金特邀作者、阿里云博客专家、51CTO特邀作者、多年架构师设计经验、多年校企合作经验&#xff0c;被多个学校常年聘为校外企业导师&#xff0c;指导学生毕业设计并参…

WebRTC REMB算法

WebRTC REMB&#xff08;Receiver Estimated Maximum Bitrate&#xff09;是一种带宽估计算法&#xff0c;用于在WebRTC中动态地调整视频发送端的码率&#xff0c;以适应网络带宽的变化。以下是对WebRTC REMB的详细解释&#xff1a; 一、定义与原理 定义&#xff1a;REMB是一…