LINUX 网络
网路配置命令
ifconfig
具体网卡名称及详细信息
常用格式
ifconfig -a 表示显示所有网卡包括没有启动的网卡
ifconfig +网卡名称 +up 打开指定网卡
ifconfig +网卡名称 +down 关闭指定网卡
ifconfig 网卡名:0 创建虚拟网卡
ip link
拔掉网线也可以看到 网卡状态
ip addr 网络层
添加虚拟ip地址 add添加 del删除
添加ip地址(先添加新的在删除旧的)
hostname
临时修改 hostname
永久生效 vi /etc/hostname
通过hostnamectl来修改主机名(更改后bash刷新即可显示新的名字)
route
route用于查看或设置主机中路由表信息
route -n 将路由记录中的地址信息显示为数字形式
添加 指定网段的路由记录
route add -net 网段地址 gw IP地址
删除指定网段的路由记录
route del -net 网段地址
向路由表中添加默认网关记录
route add default gw IP地址
删除路由表中默认的网关记录
route del default gw IP地址
给192.168.100.0/24添加静态路由
-n查看 del删除
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 端口号
ss
ss [选项]
ss 命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。
但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息,而且比 netstat 更快速更高效
当服务器的socket连接数量变得非常大时,无论是使用netstat命令还是直接cat /proc/net/tcp,执行速度都会很慢。
ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效
ss命令是Linux CentOS 7中iproute软件包的一部分,默认已经安装。
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
-r: --resolve 把 IP 解释为域名,把端口号解释为协议名称。 dns 服务
可以用time命令来比较
ping
ping测试网络连通性
ping后面无选项默认长ping (ctril+c停止)
-c选择发几次包
-w 如果ping 不通 2秒后返回 不会再ping
-W等待几秒再发一次
traceroute
traceroute路由追踪
traceroute IP地址
dig 可以显示出更多详细信息
#TYPE:接口类型;常见有的Ethernet, Bridge
#PROXY_METHOD:此配置文件应用到的设备
#BROWSER_ONLY:
#BOOTPROTO:激活此设备时使用的地址配置协议,常用的dhcp, static, none, bootp
#DEFROUTE:
#IPV4_FAILURE_FATAL:
#IPV6INIT:
#IPV6_AUTOCONF:
#IPV6_DEFROUTE:
#IPV6_FAILURE_FATAL:
#IPV6_ADDR_GEN_MODE:
#NAME:此配置文件应用到的设备
#UUID:设备的惟一标识
#DEVICE:设备名
#ONBOOT:在系统引导时是否激活此设备
#IPADDR::
#NETMASK:
#GATEWAY:
#DNS1:
永久修改网络相关配置文件
本机网卡位置
vim /etc/sysconfig/network-scripts/ifcfg-ens33
nslookup
nslookup 域名解析
域名解析配置文件
本地主机映射文件
/etc/resolv.conf dns
保存的是你DNS服务器的地址
/etc/hosts 文件
保存主机名与IP地址的映射记录
hosts文件和DNS服务器的比较
- 默认情况下,系统首先从 hosts 文件查找解析记录
- hosts 文件只对当前的主机有效
- hosts 文件可减少 DNS 查询过程,从而加快访问速度
scp
scp 远程同步
scp /opt/passwd lisi@192.168.91.101:/opt/passwd
命令字 本地文件地址 对方用户名@地址冒号(输入密码)
scp root@192.168.91.101:/opt/passwd /opt/
命令字 对方用户名@地址冒号对面地址(输入密码)
ethtool
ethtool 查看 网卡信息
ethtool -p ens33 显示中服务器网卡提示灯会亮
tcpdump
tcpdump 抓包工具
tcpdump option proto dir type
选项 协议 数据的方向 抓取的数
据类型
proto(协议):**
- tcp udp icmp
- ip ipv6
- arp
dir(方向):
- src
- dst
- src and dst
type(类型)
- host 主机
- net 网段
- port 端口
- port range 端口范围
tcpdump [-adeflnNOpqStvx][-c<数据包数目>][-dd][-ddd][-F<表达文件>][-i<网络界面>][-r<
数据包文件>][-s<数据包大小>][-tt][-T<数据包类型>][-vv][-w<数据包文件>][输出数据栏位]
参数说明:
-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 指定网卡
-
19:25:05.262045 时分毫秒
-
IP 网络协议
-
rxy.ssh 主机名 rxy 协议ssh
-
192.168.147.1.630699: Flags [P.]
发送方IP地址+端口号 ip地址:192.168.147.1 端口号:47496 >表示数据流向 -
seq 121484:121632, ack 37, win 261, length 148
seq号 ack号 win窗口长度 tcp的标志位
过滤规则
基于ip地址/网段过滤
host选项
tcpdump -i ens33 host 192.168.147.101
#只关心 和 192.168.147.101 有关的流量
dst 选项 目的地址
tcpdump -i ens33 dst 192.168.147.101
src 选项 源地址
tcpdump -i ens33 src 192.168.147.101
DHCP实例配置文件
网络下载dhcp
无法直接启动需要配置
查找dhcp下载路径编辑文件
进入后有提示去哪里看
讲指定的文件复制到需要编辑的文件(选yes覆盖)
可以用journalctl -xe --no-pager查看错误
c
修改默认的全局dns地址
根据自己的地址直接修改
完成后可启动dhcp(无报错)
时间同步
主机1同步阿里云时间
主机2同步主机1的时间