网络工具必备指南

发布时间 2023-11-28 22:58:30作者: 梭梭666

Top

网络适配器工作模式

# 网卡具有如下的几种工作模式:
1) 广播模式(Broad Cast Model):它的物理地址(MAC)地址是 0Xffffff 的帧为广播帧,工作在广播模式的网卡接收广播帧。
2)多播传送(MultiCast Model):多播传送地址作为目的物理地址的帧可以被组内的其它主机同时接收,而组外主机却接收不到。但是,如果将网卡设置为多播传送模式,它可以接收所有的多播传送帧,而不论它是不是组内成员。
3)直接模式(Direct Model):工作在直接模式下的网卡只接收目地址是自己 Mac地址的帧。
4)混杂模式(Promiscuous Model):工作在混杂模式下的网卡接收所有的流过网卡的帧,信包捕获程序就是在这种模式下运行的。
	网卡的缺省工作模式包含广播模式和直接模式,即它只接收广播帧和发给自己的帧。如果采用混杂模式,一个站点的网卡将接受同一网络内所有站点所发送的数据包这样就可以到达对于网络信息监视捕获的目的。
一般来说,混杂模式不会影响网卡的正常工作,多在网络监听工具上使用。

志在取代ifconfig 命令的IP 命令

Ifconfig --- 网络配置工具

# 显示网口统计摘要信息: 
ifconfig -s
# 显示所有网口详细信息
ifconfig -a 
# 添加多个 ip
ifconfig ens1:3 66.66.66.44/17 up
ifconfig ens1:1 44.44.44.44/17
ifconfig ens1:0 33.33.33.44/17
# 删除 IP 地址
ifconfig eth0 del 192.168.227.188
# 启动 或 关闭
ifconfig eth0 up
ifconfig eth0 down
ifup eth0
ifdown eth0
# 启用或关闭arp协议
ifconfig eth0 arp
ifconfig eth0 -arp
# 用ifconfig修改MAC地址
ifconfig eth0 hw ether 00:AA:BB:CC:DD:EE
# 清除指定网口 ip  
ifconfig <网口名> 0 
# 设置最大传输单元
ifconfig eth0 mtu 1500 up 
# 设置是否支持多播模式
ifconfig eth0 allmulti   # 设置
ifconfig eth0 -allmulti  # 取消
# 设置是否支持网卡的 promiscuous 混杂模式:若选择此参数,网卡将接收网络中发给它所有的数据包
ifconfig eth0 promisc  # 设置
ifconfig eth0 -promisc # 取消
# 启动或关闭指定网卡
ifconfig eth0 up
ifconfig eth0 down
ifup eth0
ifdown eth0

Linux系统之ifconfig命令的基本使用

IP --- 网络配置工具

# 查看网口详细信息
ip -s a show ens3
# 查看路由表
ip ro 或  ip route show 或 ip route list 或 route -n
# 以 json 格式打印各网口信息 
ip -j a
# 以缩略格式显示各网口 IP 地址配置
ip -br a  或显示颜色:   ip -c -br  a
# 开启与关闭网口
ip lin set ens3 up/down
# 查询路由包
ip route get 77.77.77.222
# 清除指定网口的 所有 IP
ip a flush dev <网口名>
# 为每个地址设置一个字符串作为标签
ip addr add local 172.16.0.76 brd + label ens330:1 dev ens33
# 添加 172.16.0.0网段转发到ens33
ip route add 172.16.0.0 dev ens33
ip neigh chg 172.16.0.4 dev ens33 nud reachable  #  把状态改为可达
# 设置 Mac 地址
ip link set dev enp0s31f6 address XX:XX:XX:XX:XX:XX
# 配置 ARP 表项
ip neigh add 33.33.33.13 dev ens5f0
ip neigh del 33.33.33.13 dev ens6f0
# 给指定网卡创建 vlan
ip link add link <网卡名> name <网卡名.ID> type vlan  id  <ID> 
# 设置网卡 mtu 
ip link set eth0 mtu 9000 up
# 设置网卡队列长度
ip link set ens2f0 txqueuelen 1200
# 打开与关闭网口的混杂模式
ip link set ens2f0 promisc on/down
# 修改网口名
ip link set ens9  name e9


Shell 常用命令之 IP

Linux 中的 IP 命令

点我回顶部

Route --- 路由配置工具

route -n  # 显示当前路由表
route add -net 192.168.1.0 netmask 255.255.255.0 dev ens33  # 添加一条路由
route del -net 192.168.1.0 netmask 255.255.255.0 dev ens33  # 删除一条路由
route add default gw 172.16.0.2                  # 添加默认网关
route del default gw 172.16.0.2                  # 删除默认网关
route add -net 224.0.0.0 netmask 240.0.0.0 reject           # 屏蔽一条路由
route del -net 224.0.0.0 netmask 240.0.0.0 reject            # 清除屏蔽的路由
route add -host 172.16.0.8 gw 172.16.0.2                     # 指定一主机流量走 指定的网关
route del -host 172.16.0.8 gw 172.16.0.2                     # 删除 指定网关



# 查看路由表
ip route 或  ip route show 或 ip route list 或 route -n 
ip route list table 254  # 等价与 ip ro 
ip route list table <table_number>
ip route list table <table_name>
# 查询路由包
ip route get 77.77.77.222  
# 删除默认路由 
ip route del default 
# 添加默认网关
ip route add default gw 20.0.0.1
# 添加路由  
ip route add 23.23.23.0/24 proto kernel  scope link src 23.23.23.13 dev ens2f0
# 删除路由表中的第一个该路由
ip route del 172.16.0.0/17 
# 删除路由表中的所有该路由
ip route flush 66.66.0.0/17 
# 在一号表中添加一条到192.168.0.0网段的路由为192.168.1.2
ip route add 192.168.0.0/24 via 192.168.1.2 table 1
# 发到 78.22.45.0/24 网段的网络包,下一跳的路由器 IP 是 10.45.22.1,包的源IP地址设为10.45.22.12
ip route add 78.22.45.0/24 via 10.45.22.1 src 10.45.22.12
# 要注意的是,src 选项只会影响该 host 上产生的网络包。如果是一个被路由的外来包,明显地它已经带有了一个源 IP 地址,这时候,src 参数的配置对它没有任何影响,除非你使用 NAT 来改变它。对 Neutron 来说,qrouter 和 qif namespace 中的路由表中的 src 都没有实际意义,因为它们只会处理外来的网络包


点我回顶部

Macchanger --- Mac 地址配置工具

下载地址 --- macchanger

github.com --- macchanger

命令示例

macchanger --version   # 查看当前软件的版本
macchanger -s eth0     # 查看指定网卡的MAC地址
macchanger -e eth0     # 修改为同一个厂家的随机MAC地址
macchanger -a eth0     # 修改为不同厂家同一类型的随机MAC地址
macchanger -A eth0     # 修改为不同厂家不同类型的随机MAC地址
macchanger -r eth0     # 修改为完全随机的MAC地址
macchanger -l          # 显示知名厂家的MAC地址段
macchanger --list=Cisco    # 显示指定厂家关键词的MAC地址段
macchanger -m xx:xx:xx:xx:xx:xx    # 修改为指定的mac地址
macchanger -mac=xx:xx:xx:xx:xx:xx 功能同上
# 获取 网卡的 Mac 地址
cat /sys/class/net/<网卡接口名>/address
ifconfig ens6f0 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'
ip link show ens6f0 | awk '/ether/ {print $2}'
nmcli device show ens6f0  | grep -i hw
# 获取系统当下所有网络接口的 Mac 地址
nmcli d show | awk '/DEVICE|HWADDR/'
nmcli d show | awk  '/DEVICE|HWADDR/'  | sed 'N;s/\n/ /' | awk '{print $2,$4}'

Brctl --- 桥配置工具

待更新...

点我回顶部

Vlan 配置

ifconfig <网卡名> IP up         # 临时为网卡设置 IP
ifconfig <网卡名> mtu <num> up  # 临时设置网卡的 MTU 值
ifconfig <网卡名>:<ID> 192.168.10.10  up   # 添加虚拟网卡, 有自己单独的网络配置文件
ifconfig <网卡名>:<ID> 192.168.10.10  down # 删除虚拟网卡, 重启服务器或者网络后,虚拟网卡就没有了.
ip link add link <网卡名> name <网卡名.ID> type vlan  id  <ID>   # 给指定网卡创建 vlan 
ip link set <网卡名> ens33 mtu 1500  # 设置 MTU 值
ip link set <网卡名> ens33 address 00:50:56:26:d8:88   # 修改设置网卡 的 MAC地址
ip route add 172.16.0.0 dev ens33         # 添加172.16.0.0网段转发到ens33
# 添加虚拟 网卡的方式
1. 创建虚拟网卡 配置文件
2. 使用 ifconfig 命令创建 : 
	ifconfig <网卡名>:<ID> 192.168.10.10  up   # 添加虚拟网卡, 有自己单独的网络配置文件
	ifconfig <网卡名>:<ID> down                # 删除虚拟网卡
3. 
	brctl show
    brctl addbr virbr0
    ip link set virbr0 up
    然后再使用ifconfig +网卡名 +ip 命令来自定义修改端口ip


NetworkManager --- 网络服务配置工具 --- Nmcli

梭梭666 博客 --- Nmcli 命令全套

特定功能杂项

查询网卡的 Mac 地址

# 查询特定网卡的 Mac 地址
cat /sys/class/net/<网卡接口名>/address
ifconfig ens6f0 | grep -o -E '([[:xdigit:]]{1,2}:){5}[[:xdigit:]]{1,2}'
ip link show ens6f0 | awk '/ether/ {print $2}'
ip -br li show ens160 | awk '{print $3}'
nmcli device show ens6f0  | grep -i hw
ethtool -P ens2f0 
# 查询 所有网卡的 Mac 地址
nmcli d show | awk '/DEVICE|HWADDR/'
nmcli d show | awk  '/DEVICE|HWADDR/'  | sed 'N;s/\n/ /' | awk '{print $2,$4}'
ip -br li
点我回顶部