linux详解,基本网络枚举

基本网络枚举

一、基本网络工具

ifconfig
复制代码
ifconfig

是一个用于配置和显示网络接口信息的命令行工具。它可以显示网络接口的P地址、子网掩码、MC地址等信息,还可以用于启动、停止或配置网络接口。

ip
复制代码
ip

也是用于查看和管理网络接口的命令。

它提供了比ifconfig更详细和灵活的网络接口信息显示,包括接口的状态、IP地址、子网码、广播地址等。

  • 查看所有网络接口的状态

    ip addr show
    可以简写为
    ip a

  • 查看特定网络接口的状态

    ip addr show [interface_name]

例如,查看eth0接口的状态:

复制代码
ip addr show eth0
  • 启用网络接口

    ip link set [interface_name] up

例如,启用eth0接口:

复制代码
ip link set eth0 up
  • 禁用网络接口

    ip link set [interface_name] down

例如,禁用eth0接口:

复制代码
ip link set eth0 down
  • 设置网络接口的IP地址

    ip addr add [ip_address]/[prefix_length] dev [interface_name]

例如,为eth0接口设置IP地址192.168.1.100/24

复制代码
ip addr add 192.168.1.100/24 dev eth0
  • 删除网络接口的IP地址

    ip addr del [ip_address]/[prefix_length] dev [interface_name]

例如,删除eth0接口的IP地址192.168.1.100/24

复制代码
ip addr del 192.168.1.100/24 dev eth0
  • 查看路由表

    ip route show

或者简写为:

复制代码
ip r
  • 添加默认网关

    ip route add default via [gateway_ip]

例如,设置默认网关为192.168.1.1

复制代码
ip route add default via 192.168.1.1
  • 删除默认网关

    sudo ip route del default via <网关地址> dev <接口>

假设你的默认网关是 192.168.1.1,并且使用的是 eth0 接口,你可以使用以下命令删除默认网关:

复制代码
sudo ip route del default via 192.168.1.1 dev eth0
  • 添加静态路由

    复制代码
    ip route add [destination_network] via [gateway_ip] dev [interface_name]

例如,添加一个到10.0.0.0/8网络的路由,通过192.168.1.1网关,使用eth0接口:

复制代码
ip route add 10.0.0.0/8 via 192.168.1.1 dev eth0
  • 查看ARP缓存

    ip neigh show
    可以简写为
    ip n

  • 刷新ARP缓存

    ip neigh flush all

  • 查看网络统计信息

    ip -s link show [interface_name]

例如,查看eth0接口的统计信息:

复制代码
ip -s link show eth0
ifdown

ifdown 命令用于禁用网络接口。它通常与 ifup 命令一起使用,用于启动和停止网络接口,上面的ip命令也可以实现网络接口管理

复制代码
sudo ifdown [interface_name]

sudo ifdown eth0  禁用eth0接口

参数

  • -f, --force:强制禁用网络接口,即使出现错误也会继续执行。

    ifdown -f eth0

  • -n, --noact:模拟操作,显示将要执行的操作,但不实际执行。

ifup
复制代码
ifup [选项] 接口名

sudo ifup eth0  启动eth0网络接口

参数

  • -a--all:启动所有网络接口。
  • -v--verbose:显示详细的输出信息,有助于调试。
  • -n--no-act:模拟操作而不实际执行,用于测试配置是否正确。
  • -f--force:强制启动接口,即使该接口已经在运行中。
  • -i FILE--interfaces=FILE:指定一个不同于默认的接口配置文件。
  • --no-carrier-wait[=SECONDS]:在没有物理连接的情况下尝试启动接口,可选参数为等待的时间(秒)。

二、网络配置

/etc/network/interfaces
复制代码
/etc/network/interfaces

这是一个系统文件,用于配置网络接口的静态IP地址、子网掩码、网关等信息。

在一些Liux发行版中,通过编辑这个文件可以实现网络接口的手动配置。

复制代码
source /etc/network/interfaces.d/*
  • 这一行表示从 /etc/network/interfaces.d/ 目录中读取所有的配置文件。这样可以将不同的网络接口配置分散到多个文件中,便于管理和维护。

    The loopback network interface

    auto lo
    iface lo inet loopback

  • auto lo:表示在系统启动时自动激活 lo 回环接口。

  • iface lo inet loopback:定义 lo 接口为回环接口,并使用 inet 地址族。

NetworkManager

NetworkManager 作为一个系统服务,可以通过 systemd 进行管理。
配置文件
NetworkManager 的配置文件通常位于 /etc/NetworkManager/ 目录下,主要包括以下几个文件和目录:

  • /etc/NetworkManager/NetworkManager.conf :主配置文件,用于配置 NetworkManager 的全局设置。
  • /etc/NetworkManager/system-connections/:存储各个网络连接的配置文件。
  • /etc/NetworkManager/conf.d/:用于存放额外的配置文件,可以覆盖主配置文件中的设置。

检测是否启用NetworkManager服务

复制代码
systemctl status NetworkManager

如果状态显示为"active"或者"running",那么网络管理器已经成功启动了。

  1. 启动 NetworkManager 服务

    sudo systemctl start NetworkManager

  2. 停止 NetworkManager 服务

    sudo systemctl stop NetworkManager

  3. 启用 NetworkManager 服务(开机自启):

    sudo systemctl enable NetworkManager

  4. 禁用 NetworkManager 服务

    sudo systemctl disable NetworkManager

nmcli

nmcliNetworkManager 的主要命令行工具,提供了丰富的命令和选项来管理网络连接。

基本用法
  1. 查看网络状态

    nmcli general status

  1. 列出所有网络设备

    nmcli device

  1. 列出所有网络连接

    nmcli connection show

  1. 连接到特定网络

    nmcli connection up id "Your Connection Name"

  2. 断开特定网络

    nmcli connection down id "Your Connection Name"

  3. 创建新的网络连接

    nmcli connection add type ethernet con-name "New Connection" ifname eth0

  4. 编辑现有网络连接

    nmcli connection modify "Your Connection Name" ipv4.addresses 192.168.1.100/24

  5. 删除网络连接

    nmcli connection delete "Your Connection Name"

nmtui

nmtui 是一个基于文本的用户界面,适用于没有图形界面的环境。

  1. 启动 nmtui

    nmtui

  2. 连接到网络

    • 选择 "Activate a connection" 选项。
    • 选择要连接的网络设备和连接。
  3. 编辑网络连接

    • 选择 "Edit a connection" 选项。
    • 选择要编辑的连接并进行修改。
  4. 设置主机名和 DNS

    • 选择 "Set system hostname" 选项。
    • 输入新的主机名并保存。
相关推荐
Johny_Zhao14 小时前
OpenClaw安装部署教程
linux·人工智能·ai·云计算·系统运维·openclaw
tingshuo291714 小时前
S001 【模板】从前缀函数到KMP应用 字符串匹配 字符串周期
笔记
YuMiao1 天前
gstatic连接问题导致Google Gemini / Studio页面乱码或图标缺失问题
服务器·网络协议
chlk1232 天前
Linux文件权限完全图解:读懂 ls -l 和 chmod 755 背后的秘密
linux·操作系统
舒一笑2 天前
Ubuntu系统安装CodeX出现问题
linux·后端
改一下配置文件2 天前
Ubuntu24.04安装NVIDIA驱动完整指南(含Secure Boot解决方案)
linux
深紫色的三北六号3 天前
Linux 服务器磁盘扩容与目录迁移:rsync + bind mount 实现服务无感迁移(无需修改配置)
linux·扩容·服务迁移
SudosuBash3 天前
[CS:APP 3e] 关于对 第 12 章 读/写者的一点思考和题解 (作业 12.19,12.20,12.21)
linux·并发·操作系统(os)
哈基咪怎么可能是AI3 天前
为什么我就想要「线性历史 + Signed Commits」GitHub 却把我当猴耍 🤬🎙️
linux·github
十日十行4 天前
Linux和window共享文件夹
linux