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",那么网络管理器已经成功启动了。
- 启动
NetworkManager
服务:
sudo systemctl start NetworkManager
- 停止
NetworkManager
服务:
sudo systemctl stop NetworkManager
- 启用
NetworkManager
服务(开机自启):
sudo systemctl enable NetworkManager
- 禁用
NetworkManager
服务:
sudo systemctl disable NetworkManager
nmcli
nmcli
是 NetworkManager
的主要命令行工具,提供了丰富的命令和选项来管理网络连接。
基本用法
- 查看网络状态:
nmcli general status
- 列出所有网络设备:
nmcli device
- 列出所有网络连接:
nmcli connection show
- 连接到特定网络:
nmcli connection up id "Your Connection Name"
- 断开特定网络:
nmcli connection down id "Your Connection Name"
- 创建新的网络连接:
nmcli connection add type ethernet con-name "New Connection" ifname eth0
- 编辑现有网络连接:
nmcli connection modify "Your Connection Name" ipv4.addresses 192.168.1.100/24
- 删除网络连接:
nmcli connection delete "Your Connection Name"
nmtui
nmtui
是一个基于文本的用户界面,适用于没有图形界面的环境。
- 启动
nmtui
:
nmtui
- 连接到网络:
- 选择 “Activate a connection” 选项。
- 选择要连接的网络设备和连接。
- 编辑网络连接:
- 选择 “Edit a connection” 选项。
- 选择要编辑的连接并进行修改。
- 设置主机名和 DNS:
- 选择 “Set system hostname” 选项。
- 输入新的主机名并保存。