目录
ifconfig 查看和配置网络接口
ifconfig 来源与 net-tools 包
格式:ifconfig [interface] [options](interface 是网络接口的名称)
常见的一些选项:
- up: 启用指定网络接口。
- down: 禁用指定网络接口。
- ip address: 设置或显示网络接口的 IP 地址。
- netmask: 设置或显示网络接口的子网掩码。
- hw ether: 设置或显示网络接口的 MAC 地址。
- mtu: 设置或显示网络接口的最大传输单元(MTU)
不加选项 :查看已经启用的网卡
ifconfig -a :看所有 包括启用核不启用
ifconfig 网卡名 : 只看该网卡
配置虚拟网卡 ifconfig ens33:0 10.0.0.5/24
取消虚拟网卡 ifconfig 网卡:数字 down
#ifconfig
ifconfig -a
#ifconfig ens33 查看该网卡
ifconfig ens33 down
ifconfig ens33 up
#ifconfig ens37:0 192.168.91.200
ifconfig ens37:0
ifconfig ens37:0 down
ifconfig -s
route 查看和配置网络路由表
格式:route [options]
常见选项:
- -n: 显示数值形式的 IP 地址,而不是主机名。
- -A:指定地址族(IPv4 或 IPv6)。
- add: 添加新的路由。
- del: 删除指定的路由。
- default: 设置默认路由。
- Destination: 目标网络或目标主机的 IP 地址。
- Gateway:下一跳网关的 IP 地址。
- Genmask:子网掩码。
- Flags: 这个字段显示了路由的标志和状态信息。
- u:表示该路由是有效(Up)的,可以使用。
- G: 表示该路由是默认(Gateway)路由。
- H: 表示该路由是到主机的路由,而不是到网络的路由。
- D: 表示该路由是一个动态(Dynamic)路由,通常由路由守护进程动态更新。
- M: 表示该路由是通过 ICMP 路由重定向消息学习到的。
- !: 表示该路由是不可到达的(unreachable)。
- Metric:优先级。
- Ref:计数;有多少个进程正在使用该路由。
route add -net 网段地址 gw IP地址 \添加 指定网段的路由记录
route del -net 网段地址 \删除指定网段的路由记录
route add default gw IP地址 \向路由表中添加默认网关记录
route del default gw IP地址 \删除路由表中默认的网关记录
#route add -net 192.168.100.0/24 gw 192.168.99.2 \\给192.168.100.0/24段添加静态路由
#route -n|grep 192.168.100.0 \\显示ip地址为192.168.100.0 的路由信息
#route del(add) -net 192.168.100.0/24 \\删除(添加)网络路由
#route adddufault gw 192.168.99.2 \\添加默认路由
#systemctl restart network \\需要重启服务才能看到
/etc/sysconfig/network-scripts/route-IFACE \\网卡配置路径
开启路由转发功能:
#vim /etc/sysctl.conf 编辑sysctl.conf文件
文件中找到或添加:net.ipv4.ip_forward=1
使用sysctl -p 命令 立即生效 或者 systemctl restart network 重启命令
ping
ping (属于ICMP协议)是一个常用的网络诊断工具,通过 ping 命令,你可以检查网络中的主机是否可达,以及测量网络的延迟和丢包率。
选项:
-c: 发送多少个包
-w:超时等待多少秒
#ip link \\查看数据链路层
#ip address \\查看网络层
hostname
临时修改主机名:
#hostname +主机名
永久修改主机名:
#vi /etc/hostname
www.ndqn.com
通过hostnamectl来修改主机名(永久修改):
#hostnamectl set-hostname www.bdqn.com
#bash
#hostname
www.bdqn.com
netstat
netstat 查看网络连接情况
-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址、端口等信息
-r:显示路由表信息
-l:显示处于监听(Listening)状态的网络连接及端口信息
-t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)
#systemctl start httpd
#netstat -ntap |grep 80 \\过滤出为80的端口
#netstat -ntap |grep ":22"
ss
ss(socket statistics)
ss 命令可以查看:
- 网络连接的状态,如 ESTABLISHED(已建立连接)、LISTEN(监听状态)、TIME_WAIT(等待关闭状态)等。
- TCP 和 UDP 套接字的详细信息,包括本地地址和端口、远程地址和端口、连接状态等。
- 路由表信息。
常用选项:
-t: 显示 TCP 套接字信息。
-u: 显示 UDP 套接字信息。
-a: 显示所有套接字信息。
-n: 以数字形式显示 IP 地址和端口号。
-p: 显示与套接字关联的进程信息。
#ss -t -u -a \\查看当前的 TCP 和 UDP 连接状态
#ss -ntap |grep 80 \\过滤出为80的端口
traceroute
路由追踪
#traceroute 192.168.91.101
nslookup
将域名解析成ip地址
#nslookup www.baidu.com
Server: 8.8.8.8
Address: 8.8.8.8 \\53
scp
远程同步
#scp /opt/passwd root@192.168.91.101:/opt/passwd
该命令是使用 scp 命令来将本地服务器上的 /opt/passwd 文件复制到远程服务器 192.168.91.101 的 /opt/passwd 路径下。其中 root 是远程服务器的用户名,:opt/passwd 是远程服务器上的目标路径。
#scp root@192.168.91.101:/opt/passwd /opt/
该命令是使用 scp 命令将远程服务器 192.168.91.101 上的 /opt/passwd 文件复制到本地服务器的 /opt/ 路径下。其中 root 是远程服务器的用户名,:opt/passwd 是远程服务器上的源路径,/opt/ 是本地服务器上的目标路径。
tcpdump 抓取网络数据包的命令行工具
语法:
tcpdump [ -AdDefIJK1LnNOpqRStuUvxX ] [ -B buffer_size ] [ -C count ]
[ -C file_size ] [ -G rotate_seconds ] [ -F file ]
[ -i interface ] [ -j tstamp_type ] [ -m module ] [ -M secret ]
[ -Q|-P in|out | inout ]
[ -r file ] [ -S snaplen ] [ -T type ] [ -W file ]
[ -W filecount ]
[ -E spi@ipaddr algo:secret,... ]
[ -y datalinktype ] [ -z postrotate-command ] [ -Z user ]
[ expression ]
tcpdump option proto dir type
选项 协议 数据的方向 抓取的数据类型
proto(协议):
- tcp udp icmp
- ip ipv6
- arp
dir(方向):
- src
- dst
- src and dst
type(类型)
- host 主机
- net 网段
- port 端口
- port range 端口范围
选项:
-a 尝试将网络和广播地址转换成名称。
-c<数据包数目> 收到指定的数据包数目后,就停止进行倾倒操作。
-d 把编译过的数据包编码转换成可阅读的格式,并倾倒到标准输出。
-dd 把编译过的数据包编码转换成C语言的格式,并倾倒到标准输出。
-ddd 把编译过的数据包编码转换成十进制数字的格式,并倾倒到标准输出。
-e 在每列倾倒资料上显示连接层级的文件头。
-f 用数字显示网际网络地址。
-F<表达文件> 指定内含表达方式的文件。
-i<网络接口> 使用指定的网络截面送出数据包。
-l 使用标准输出列的缓冲区。
-n 不把主机的网络地址转换成名字。
-N 不列出域名。
-O 不将数据包编码最佳化。
-p 不让网络界面进入混杂模式。
-q 快速输出,仅列出少数的传输协议信息。
-r<数据包文件> 从指定的文件读取数据包数据。
-s<数据包大小> 设置每个数据包的大小。
-S 用绝对而非相对数值列出TCP关联数。
-t 在每列倾倒资料上不显示时间戳记。
-tt 在每列倾倒资料上显示未经格式化的时间戳记。
-T<数据包类型> 强制将表达方式所指定的数据包转译成设置的数据包类型。
-v 详细显示指令执行过程。
-vv 更详细显示指令执行过程。
-x 用十六进制字码列出数据包资料。
-w<数据包文件> 把数据包数据写入指定的文件。
#tcpdump -i ens33
tcpdump 常用的抓包示例:
#tcpdump -i eth0 \\抓取指定网络接口的数据包
#tcpdump -A -i eth0 \\以ASCII文本格式显示数据包内容
#tcpdump -i eth0 dst host 192.168.1.100 \\只显示目的IP地址为特定值的数据包
#tcpdump -i eth0 src host 192.168.1.200 \\只显示源IP地址为特定值的数据包
#tcpdump -i eth0 port 80 \\显示特定端口的数据包
#tcpdump -i eth0 host 192.168.1.100 and 192.168.1.200 \\显示特定源和目的IP地址的数据包
#tcpdump -i eth0 -w capture.pcap. \\保存抓包结果到文件中
#tcpdump -r capture.pcap \\读取保存的抓包文件
**host选项**
#tcpdump -i ens33 host 192.168.187.101 \\输出和192.168.187.101有关的流量
**dst 和 src选项**
#tcpdump -i ens33 src 192.168.187.101 and dst net 192.168.91.101 \\只收取指定源地址和指定目的网段的数据
**port 端口号**
#tcpdump -i ens33 port 80 or port 22 \\输出80 和 22 端口的数据
##tcpdump -i ens33 src portrange 80-8080 \\输出源端口号80~8080 的数据
#tcpdump -i ens33 icmp \\基于协议输出
#tcpdump -i any -w test.cap \\捕获信息保存到文件中
\\你可以根据需要使用不同的过滤条件和选项来抓取特定类型的数据包。
DHCP 配置文件
DHCP(Dynamic Host Configuration Protocol)服务器的配置文件通常为/etc/dhcp/dhcpd.conf
-
vim /etc/sysconfig/network-scripts/ifcfg-ens33 配置网卡
-
先关闭防火墙和selinux
-
安装DHCP rpm -q dhcp / yum install dhcp -y
#vim /etc/dhcp/dhcpd.conf \编辑默认的dhcp配置文件
subnet 192.168.1.0 netmask 255.255.255.0 {
range 192.168.1.100 192.168.1.200; # IP地址范围分配给客户端
option routers 192.168.1.1; # 默认网关
option domain-name-servers 8.8.8.8; # DNS服务器
default-lease-time 600; # 默认租约时间(秒)
max-lease-time 7200; # 最大租约时间(秒)
}
默认租约时间为600秒,最大租约时间为7200秒。
排错思路:
- 查看dhcp服务器的ip地址
- 查看防火墙和selinux
- 查看dhcpd服务的状态
- 查看日志
- 查看网卡配置
- 查看dns
#host主机声明( 给单机分配固定的IP地址)
host hostname #指定需要分配固定IP
地址的客户机名称
hardware ethernet 00:c0:c3:22:46:81; #指定该主机的MAC地址
fixed-address 192.168.4.100; #指定保留给该主机的IP地址
在修改/etc/dhcp/dhcpd.conf配置文件后,需要重新启动DHCP服务器才能使配置生效。 #systemctl restart dhcpd
时间同步
7-1 时间同步服务器 和 阿里云同步
与阿里云服务器进行时间同步:
[root@localhost ~]#vim /etc/chrony.conf
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server ntp.aliyun.com iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
#allow 192.168.0.0/16 允许同步的网段 0.0.0.0/0
allow 192.168.91.0/24
wq 保存后
systemctl restart chronyd
客户端 和某台主机进行同步
[root@node2 tftpboot]#ntpdate 192.168.91.100
#手动同步;与位于 192.168.91.100 IP 地址上的 NTP 服务器的时间进行同步;临时的
[root@localhost ~]#vim /etc/chrony.conf
在chrony.conf 修改与谁同步时间是永久
#Please consider joining the pool (http://www.pool.ntp.org/join.html).
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst
server 192.168.91.100 iburst
wq 保存
systemctl restart chronyd
chronyc sources -v
#查看和谁同步