目录
1.ifconfig
在Linux中,ifconfig
命令用于配置和显示网络接口的信息。以下是ifconfig
的一些基础用法示例:
-
显示所有网络接口的信息:
ifconfig
-
显示特定网络接口的信息(例如,eth0):
ifconfig eth0
-
启用网络接口:
ifconfig eth0 up
-
禁用网络接口:
ifconfig eth0 down
-
配置网络接口的IP地址和子网掩码:
ifconfig eth0 192.168.0.10 netmask 255.255.255.0
-
删除网络接口的IP地址和子网掩码:
ifconfig eth0 0.0.0.0
-
显示网络接口的统计信息(例如,接收和发送的数据量):
ifconfig eth0 | grep "RX bytes"
2.网卡
网卡(Network Interface Card)是用于连接计算机到网络的硬件设备。每个网卡都有一个唯一的标识符,通常称为接口名或接口标识符。以下是一些常见的Linux网卡接口名:
-
eth0, eth1, eth2, ...:以"eth"开头的接口名通常用于以太网(Ethernet)接口。
-
wlan0, wlan1, wlan2, ...:以"wlan"开头的接口名通常用于无线网卡接口。
-
lo:"lo"是本地回环接口(Loopback Interface),用于在本地主机内部进行网络通信。
-
ppp0, ppp1, ...:以"ppp"开头的接口名通常用于拨号连接(如PPP)。
这些接口名可以在Linux系统中使用ifconfig
或ip
命令来查看和配置网络接口的信息。每个接口名对应着一个特定的网卡设备,可以用于配置IP地址、子网掩码、网关、DNS等网络参数,并通过该网卡与网络进行通信。
网卡名称详解 ens33
—— en 是 EtherNet 的缩写,表示网卡类型为以太网
—— s 表示热插拔插槽上的设备
—— 33 表示插槽编号
开启网卡以及关闭网卡命令
—— ip link set ens33 down 关闭 ens33 网卡
—— ip link set ens33 up 开启 ens33 网卡
临时修改网卡名称
—— ip link set ens33 name 自定义网卡名 更改网卡名 ens33 为自定义的网卡名(重启设备之后网卡名会恢复)
永久修改网卡名称
1. 进入配置文件 /etc/default/grub 并插入命令 net.ifnames=0
2. 进入要改名的网卡编辑器
例:修改网卡 ens33 为 mihayo ,进入配置文件 vim /etc/sysconfig/network-scripts/ifcfg-ens33
3. 重新加载 grub ,实验完成
3.route
route
命令用于配置和显示路由表信息。路由表是用于决定数据包从源地址到目标地址的路径的表格。以下是一些常用的route
命令的用法:
-
显示当前路由表信息:
route -n
该命令将显示当前系统的路由表,包括目标网络、网关、子网掩码和接口等信息。
-
添加静态路由:
route add -net <目标网络> netmask <子网掩码> gw <网关> dev <接口>
该命令用于添加静态路由,将数据包发送到指定的目标网络。需要提供目标网络、子网掩码、网关和接口等参数。
-
删除静态路由:
route del -net <目标网络> netmask <子网掩码> gw <网关> dev <接口>
该命令用于删除已存在的静态路由,需要提供与要删除的路由匹配的目标网络、子网掩码、网关和接口等参数。
-
添加默认网关:
route add default gw <网关> dev <接口>
该命令将指定的网关设置为默认网关,用于将所有未知目标地址的数据包发送到该网关。
-
删除默认网关:
route del default gw <网关> dev <接口>
该命令用于删除默认网关
4.ss
ss
命令用于显示套接字(socket)统计信息,包括网络连接、监听端口、路由表和多播组等。它是netstat
命令的替代品,提供更多的功能和更快的执行速度。以下是一些常用的ss
命令的用法:
-
显示所有套接字信息:
ss
该命令将显示所有当前系统上的套接字信息,包括网络连接和监听端口等。
-
显示网络连接信息:
ss -t # 显示TCP连接 ss -u # 显示UDP连接 ss -a # 显示所有连接,包括TCP和UDP
这些命令将显示相应类型的网络连接信息,包括本地地址、远程地址、状态和进程等。
-
显示监听端口信息:
ss -l # 显示所有监听的端口 ss -pl # 显示监听端口及其关联的进程信息
这些命令将显示当前系统上正在监听的端口信息,包括本地地址、端口号和关联的进程等。
-
显示路由表信息:
ss -r
该命令将显示当前系统的路由表信息,包括目标网络、网关、接口和标志等。
-
显示多播组信息:
ss -g
该命令将显示当前系统上的多播组信息,包括组地址、接口和成员数等。
常用命令
ss -natp 数字格式显示所有 TCP 协议相关的程序及 pid
ss -naup 数字格式显示所有 UDP 协议相关的程序及 pid
ping 命令
—— 测试网络连通性
格式:ping 选项 目标ip
ping -c 数字 目标ip 向目标发送几个包
ping -w 数字 目标ip 表示 ping 多少秒
命令举例
ping www.baidu.com 长ping百度(默认)
ping -c 5 www.baidu.com 发送 5 个包
ping -w 5 www.baidu.com 表示 ping 5 秒
traceroute 命令
—— 跟踪数据包的路由途径
格式:traceroute 目标ip
nslookup 命令
—— 测试域名解析
格式:nslookup 目标ip
5.永久修改网络相关配置文件
-
修改网络接口配置文件(Debian/Ubuntu):
打开/etc/network/interfaces
文件:sudo nano /etc/network/interfaces
找到要修改的网络接口部分,例如
eth0
,然后修改其配置。例如,将静态IP地址设置为192.168.1.100
,子网掩码设置为255.255.255.0
,网关设置为192.168.1.1
:auto eth0 iface eth0 inet static address 192.168.1.100 netmask 255.255.255.0 gateway 192.168.1.1
保存文件并关闭。
-
修改网络接口配置文件(CentOS/RHEL):
打开对应的网络接口配置文件,例如ifcfg-eth0
:sudo nano /etc/sysconfig/network-scripts/ifcfg-eth0
修改文件中的配置,例如设置静态IP地址为
192.168.1.100
,子网掩码为255.255.255.0
,网关为192.168.1.1
:TYPE=Ethernet BOOTPROTO=none DEFROUTE=yes IPV4_FAILURE_FATAL=no IPV6INIT=yes IPV6_AUTOCONF=yes IPV6_DEFROUTE=yes IPV6_FAILURE_FATAL=no NAME=eth0 UUID=<UUID> DEVICE=eth0 ONBOOT=yes IPADDR=192.168.1.100 NETMASK=255.255.255.0 GATEWAY=192.168.1.1
保存文件并关闭。
-
修改 DNS 配置文件:
打开/etc/resolv.conf
文件:sudo nano /etc/resolv.conf
在该文件中,可以添加或修改
nameserver
行来指定 DNS 服务器的 IP 地址。例如,添加 Google Public DNS 的 IP 地址:nameserver 8.8.8.8 nameserver 8.8.4.4
保存文件并关闭。
-
修改主机名配置文件:
打开/etc/hostname
文件:sudo nano /etc/hostname
在该文件中,将新的主机名写入并保存。例如,将主机名设置为
myserver
:myserver
保存文件并关闭。
6.tcpdump
proto 协议
1.tcp、udp、icmp tcpdump -i ens33 icmp(只抓ens33的icmp协议的包)
2.ipv4,ipv比较少
3.arp
dir 方向:一般默认是源和目的都抓
—— src :源
例:tcpdump -i ens33 src net 192.168.91.0/24 (抓来源是这个网段的包)
—— dst :目的
例:tcpdump -i ens33 dst net 192.168.91.0/24(抓目的是这个网段的包)
—— src and dst :源和目的都抓
type 类型
1.host 主机 tcpdump -i ens33 host 192.168.91.6(只抓跟91.6有关的包)
2.net 网段
3.port 端口
4.port range 端口范围
例
tcpdump -i -en33 -nnn 只抓经过 en33 的流量
-i:指定网卡
-n :显示详细信息,加 nn 是更详细