当前位置: 首页 > article >正文

【Linux】网络相关的命令

目录

① 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.kler.cn/a/380588.html

相关文章:

  • Docker 设置代理的三种方法(2024年12月19日亲自测试)
  • 62.基于SpringBoot + Vue实现的前后端分离-驾校预约学习系统(项目+论文)
  • 虚幻引擎结构之ULevel
  • 智能化军事【五】精确制导武器智能化实现
  • 在linux系统的docker中安装GitLab
  • 羊城杯2020 easycon
  • 猫用宠物空气净化器哪个牌子好?求噪音小的宠物空气净化器推荐!
  • K8s核心组件全解析
  • Rust移动开发:Rust在Android端集成使用介绍
  • MySQL 和 PostgreSQL 的对比概述
  • 设计模式之模块方法
  • 商品满减、限时活动、折扣活动的计算最划算 golang
  • PyCharm中pylint安装与使用
  • 2025年上半年软考高级科目有哪些?附选科指南
  • HTML和CSS 介绍
  • 搞懂>>>、/deep/、::v-deep、::v-deep()和:deep()的区别与用法
  • 从APP小游戏到Web漏洞的发现
  • 【Java多线程】:理解线程创建、特性及后台进程
  • 【Linux】基础指令
  • 【连续多届检索,ACM出版】第四届大数据、人工智能与风险管理国际学术会议 (ICBAR 2024,11月15-17)--冬季主会场
  • mqsql 场景函数整理
  • Browserslist 配置
  • Golang Gorm实现自定义多态模型关联查询
  • Python 淘宝商品销量采集 API 实战指南
  • 动态与静态网站抓取的区别:从抓取策略到性能优化
  • 阿里云-部署CNI flannel集群网络