linux详解,基本网络枚举

时间:2024-11-13 07:58:15

基本网络枚举

一、基本网络工具

ifconfig
ifconfig

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

ip
ip

也是用于查看和管理网络接口的命令。
它提供了比ifconfig更详细和灵活的网络接口信息显示,包括接口的状态、IP地址、子网码、广播地址等。

  • 查看所有网络接口的状态
ip addr show
可以简写为
ip a

image.png

  • 查看特定网络接口的状态
ip addr show [interface_name]

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

ip addr show eth0

image.png

  • 启用网络接口
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

image.png

  • 添加默认网关
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

image.png

  • 刷新ARP缓存
ip neigh flush all
  • 查看网络统计信息
ip -s link show [interface_name]

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

ip -s link show eth0

image.png

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发行版中,通过编辑这个文件可以实现网络接口的手动配置。
image.png

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",那么网络管理器已经成功启动了。
image.png

  1. 启动 NetworkManager 服务
sudo systemctl start NetworkManager
  1. 停止 NetworkManager 服务
sudo systemctl stop NetworkManager
  1. 启用 NetworkManager 服务(开机自启):
sudo systemctl enable NetworkManager
  1. 禁用 NetworkManager 服务
sudo systemctl disable NetworkManager
nmcli

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

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

image.png

  1. 列出所有网络设备
nmcli device

image.png

  1. 列出所有网络连接
nmcli connection show

image.png

  1. 连接到特定网络
nmcli connection up id "Your Connection Name"
  1. 断开特定网络
nmcli connection down id "Your Connection Name"
  1. 创建新的网络连接
nmcli connection add type ethernet con-name "New Connection" ifname eth0
  1. 编辑现有网络连接
nmcli connection modify "Your Connection Name" ipv4.addresses 192.168.1.100/24
  1. 删除网络连接
nmcli connection delete "Your Connection Name"
nmtui

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

  1. 启动 nmtui
nmtui
  1. 连接到网络
    • 选择 “Activate a connection” 选项。
    • 选择要连接的网络设备和连接。
  2. 编辑网络连接
    • 选择 “Edit a connection” 选项。
    • 选择要编辑的连接并进行修改。
  3. 设置主机名和 DNS
    • 选择 “Set system hostname” 选项。
    • 输入新的主机名并保存。
      image.png