目录
[1. 查看网络接口信息 ifconfig](#1. 查看网络接口信息 ifconfig)
[1.1 查看所以活动的网络接口信息](#1.1 查看所以活动的网络接口信息)
[1.2 查看指定网络接口信息](#1.2 查看指定网络接口信息)
[2. 查看主机名称hostname](#2. 查看主机名称hostname)
[2.1 hostname 命令](#2.1 hostname 命令)
[2.2 永久设置主机名](#2.2 永久设置主机名)
[3. 查看路由表条目 route](#3. 查看路由表条目 route)
[3.1 route 命令](#3.1 route 命令)
[1. 查看网络连接情况 netstat(即端口扫描)](#1. 查看网络连接情况 netstat(即端口扫描))
[2. 获取 socket 统计信息------ ss](#2. 获取 socket 统计信息—— ss)
[2.1 ss命令概述](#2.1 ss命令概述)
[2.2 ss选项](#2.2 ss选项)
[2.3 netstat 命令与ss 命令的区别](#2.3 netstat 命令与ss 命令的区别)
[3. 查找进程打开的文件及相关联的内容------lsof](#3. 查找进程打开的文件及相关联的内容——lsof)
[1. ping命令 - 测试网络连接通性](#1. ping命令 - 测试网络连接通性)
[2. traceroute - 跟踪数据包的路由途径](#2. traceroute - 跟踪数据包的路由途径)
[3. nslookup - 测试DNS域名解析](#3. nslookup - 测试DNS域名解析)
[1.1 临时配置 - 使用命令调整网络参数](#1.1 临时配置 - 使用命令调整网络参数)
[1.2 固定设置 - 通过配置文件修改网络参数](#1.2 固定设置 - 通过配置文件修改网络参数)
[2. ifconfig 命令 - 设置网络接口参数](#2. ifconfig 命令 - 设置网络接口参数)
[3. route 命令 - 设置路由记录](#3. route 命令 - 设置路由记录)
一、查看网络配置
1. 查看网络接口信息 ifconfig
1.1 查看所以活动的网络接口信息
● 执行 ifconfig 命令
1.2 查看指定网络接口信息
ifconfig "网络接口"
示例:
[root@localhost ~]# ifconfig ens33
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500 #该口已启用,支持广播、正在运行 支持组播 最大传输单元1500
inet 192.168.100.88 netmask 255.255.255.0 broadcast 192.168.100.255
inet6 fe80::79ca:73de:de6c:1d62 prefixlen 64 scopeid 0x20<link> #IPV6地址 作用域link表示仅该接口有效
ether 00:0c:29:51:09:ff txqueuelen 1000(Ethernet)
RX packets 21785 bytes 21444139 (20.4 MiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 12411 bytes 859906 (839.7 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ifconfig #查看所有活动的网络接口信息
ifconfig "网络接口" #查看指定的网络接口信息(无论网卡是否启用)
ifconfig -a #显示所有网络接口信息(包括未启用的网卡)
ifconfig "网络接口" "ip地址/掩码长度" #设置虚拟网卡
例:
ifconfig ens33:0 192.168.10.11/24
ifconfig ens33:0 down #临时禁用虚拟网卡
ifconfig ens33:0 up #开启虚拟网卡
ifdown "网络接口" #禁用网卡
ifup "网络接口" #启动网卡
2. 查看主机名称hostname
2.1 hostname 命令
● 查看或临时设置当前主机名
hostname [主机名]
2.2 永久设置主机名
hostnamectl set-hostname [主机名]
或
vi /etc/hostname #设置完后需重启系统才生效
#只有第一行有效
3. 查看路由表条目 route
3.1 route 命令
route [-n] #查看或设置主机中路由表信息
示例:
[root@005_yjw ~]# route -n
Kernel IP routing table
Destination Gateway Genmask Flags Metric Ref Use Iface
0.0.0.0 192.168.100.2 0.0.0.0 UG 100 0 0 ens33
192.168.100.0 0.0.0.0 255.255.255.0 U 100 0 0 ens33
二、查看网络连接情况
1. 查看网络连接情况 netstat(即端口扫描)
netstat [-natp]
|----------|------------------------------------|
| 常用选项 | 解释 |
| -a | 显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口 |
| -n | 以数字的形式显示相关的主机地址、端口等信息 |
| -r | 显示路由表信息 |
| -l | 显示处于监听(Listening)状态的网络连接及端口信息 |
| -t | 查看TCP协议相关的信息 |
| -u | 显示UDP协议相关的信息 |
| -p | 显示与网络连接相关联的进程号、进程名称信息(该选项需要root权限) |
示例:
netstat -natp #只看TCP协议的
netstat -antp | grep 端口号
netstat -anultp #除了路由表信息,其他全查询
2. 获取 socket 统计信息------ ss
2.1 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软件包的一部分,默认已经安装。
2.2 ss选项
|----------|-----------------------------------|
| 常用选项 | 作用 |
| -t | tcp协议相关 |
| -u | udp协议相关 |
| -w | 裸套接字相关 |
| -x | unix sock相关 |
| -l | listen状态的连接 |
| -a | 所有 |
| -n | 数字格式 |
| -p | 相关的程序及PID |
| -e | 扩展的信息 |
| -m | 内存用量 |
| -o | 计时器信息 |
| -r | ------resolv 把IP解释为域名,把端口号解释为协议名称 |
示例:
ss -nltp | grep 22 #查看tcp的所有包含22的端口
比较:
使用time命令来比较netstat和ss
netstat:
[root@localhost ~]# time netstat -atn
Active Internet connections (servers and established)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:111 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN
tcp 0 0 192.168.100.88:22 192.168.100.1:60315 ESTABLISHED
tcp 0 48 192.168.100.88:22 192.168.100.1:60278 ESTABLISHED
tcp6 0 0 :::111 :::* LISTEN
tcp6 0 0 :::22 :::* LISTEN
tcp6 0 0 ::1:25 :::* LISTENreal 0m0.003s
user 0m0.001s
sys 0m0.002s
ss:
[root@localhost ~]# time ss -atn
State Recv-Q Send-Q Local Address:Port Peer Address:Port
LISTEN 0 128 *:111 *:*
LISTEN 0 128 *:22 *:*
LISTEN 0 100 127.0.0.1:25 *:*
ESTAB 0 0 192.168.100.88:22 192.168.100.1:60315
ESTAB 0 0 192.168.100.88:22 192.168.100.1:60278
LISTEN 0 128 :::111 :::*
LISTEN 0 128 :::22 :::*
LISTEN 0 100 ::1:25 :::*real 0m0.023s
user 0m0.002s
sys 0m0.004s
"LISTEN"是指在网络通信中等待连接的TCP端口的状态之一。当一个主机上的应用程序在指定的端口上开始监听连接请求时,它进入"LISTEN"状态,表示正在等待其他主机建立连接。
"ESTABLISHED"是指在网络通信中建立的TCP连接的状态之一。它表示当前的TCP连接已成功建立并且正在进行数据传输。
已连接(已建立三次握手)TIME_OUT
2.3 netstat 命令与ss 命令的区别
- ss 命令可以查看网络连接信息
- ss 命令主要向socket获取统计信息
- ss 命令可以查看内存
- 2条命令均可查看pid和程序\进程名
3. 查找进程打开的文件及相关联的内容------lsof
lsof(List Open Files)是一个用于列出系统中打开文件的命令行工具。它可以显示当前系统中打开的文件、目录、套接字、管道等资源,以及与它们相关联的进程信息。
lsof "选项"
lsof #列出所有打开的文件和网络连接
lsof -p "pid" #列出指定进程ID(PID)打开的文件和网络连接
lsof -u "username" #列出指定用户打开的文件和网络连接
lsof -i:"端口号" #列出指定端口被哪些进程占用
lsof -i -sTCP:LISTEM #以监听模式查看网络连接
lsof -c "commond" #列出指定命令打开的文件
lsof -i -P -a -p "PID"
# -i:表示只显示网络连接信息
# -P:强制显示端口号
# -a:表示进行与查询条件的逻辑与操作
# -p:表示指定要查询的程序ID
三、测试网络连接
1. ping命令 - 测试网络连接通性
ping "选项"
|----------|----------------|
| 常用选项 | 解释 |
| -c | 发送包的个数 |
| -i | 发送包的间隔时间 |
| -W | 超时时间 |
| -w | 多少秒后停止ping命令操作 |
2. traceroute - 跟踪数据包的路由途径
traceroute "目标主机地址"
3. nslookup - 测试DNS域名解析
nslookup "地址"
[root@localhost ~]# nslookup www.csdn.netServer: 114.114.114.114
Address: 114.114.114.114#53
Non-authoritative answer:
www.csdn.net canonical name = 55cb88f4.csdn.net.cname.yunduns.com.
Name: 55cb88f4.csdn.net.cname.yunduns.com
Address: 218.95.237.78
四、设置网络参数
1.设置网络参数的方式
1.1 临时配置 - 使用命令调整网络参数
- 简单、快速,可直接修改运行中的网络参数
- 一般只适合在调试网络的过程中使用
- 系统重启以后,所做的修改将会失效
1.2 固定设置 - 通过配置文件修改网络参数
- 修改各项网络参数的配置文件
- 适合对服务器设置固定参数时使用
- 需要重载网络服务器或者重启以后才会生效
2. ifconfig 命令 - 设置网络接口参数
- 设置网络接口的IP地址、子网掩码:
ifconfig "网络接口" "ip地址" netmask "子网掩码"
ifconfig "网络接口" "IP地址/掩码长度"
- 禁用或重新激活网卡:
ifconfig "网络接口" up
ifconfig "网络接口" down
- 设置虚拟网络接口
ifconfig "网络接口:序号" "IP地址"
3. route 命令 - 设置路由记录
- 添加到指定网段的路有记录:
route add -net "网段地址" gw "IP地址"
- 删除到指定网段的路有记录:
route del -net "网段地址"
- 向路由表中添加默认网关记录:
route add default gw "IP地址"
- 删除路由表中默认的网关记录:
route del default gw "IP地址"
4.永久添加路由
静态路由配置文件:/etc/sysconfig/static-routes
vi /etc/sysconfig/static-routes #编辑静态路由配置文件
any net any gw 192.168.233.21 #将所有网络流量都路由到192.168.233.21网关
any net 192.168.3.0/24 gw 192.168.233.21
#将目的网络为192.168.3.0/24的所有流量路由到192.168.233.21网关
anynet 10.0.0.0 netmask 255.0.0.0 gw 192.168.233.21
#将目的网络为10.0.0.0的所有流量,使用掩码255.0.0.0,路由到192.168.233.21网关
any host 192.168.100.100 gw 192.168.233.21
#将目的IP为192.168.100.100的所有流量路由到192.168.233.21网关
#修改后需要重启网络服务,否则修改不生效
systemctl restart network #重启网络服务
5.配置网络接口
网卡配置文件:/etc/sysconfig/network-scripts/ifcfg-ens33
vi /etc/sysconfig/network-scripts/ifcfg-ens33 #编辑网卡配置文件
TYPE=Ethernet #设置网卡类型,"Ethernet"表示以太网
DEVICE=ens33 #设置网卡名称
ONBOOT=yes #设置网卡是否在Linux操作系统启动时激活
BOOTPROTO=static #设置网卡的配置方式,"static"表示使用静态IP地址;"dhcp"表示动态获取IP地址
IPADDR=192.168.100.10 #设置网卡的IP地址
NETMASK=255.255.255.0 #设置网卡的子网掩码
GATEWAY=192.168.100.2 #设置网卡的默认网关地址
DNS1=114.114.114.114 #设置DNS服务器的IP(配置于网卡上)
systemctl restart network #配置完成后需重启网卡
6.配置DNS域名解析服务器
域名解析配置文件:/etc/resolv.conf
vi /etc/resolv.conf
nameserver 144.144.144.144 #配置DNS于系统中
systemctl restart network #配置完成后需重启网卡服务
7.保存域名\主机名与IP地址的映射记录
文件位于:/etc/hosts
vi /etc/hosts
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
218.95.237.78 www.csdn.net
192.168.10.20 server2