目录
2.查看指定网络接口信息------ifconfig[指定网卡]
一.查看网络设置---ifconfig命令
1.查看所有的网络接口信息----ifconfig
执行ifconfig命令
lo 是表示主机的回坏地址,IP地址固定为127.0.0.1,子网掩码为8位,表示本机。
用来测试一个网络程序,但又不想让局域网或外网的用户能够查看,只能在此台主机上运行和查看所用的网络接口。比如把
HTTPD服务器的指定到回坏地址,在浏览器输入 127.0.0.1
就能看到你所架WEB网站了。但只是您能看得到,局域网的其它主机或用户无从知道
virbr0是一个虚拟的网络连接端口,默认为0号虚拟网络连接端口;一般在通过虚拟机进行移植操作系统时,默认会以nat的网络地址转移,但是可以选择桥接或者是无网络连接也是可以的(因为本人用的是centos镜像的虚拟机,所以会有这一行)
2.查看指定网络接口信息------ifconfig[指定网卡]
ifconfig【指定网卡】
mtu | 代表最大传输单元,它的单位是字节。在我们常用的以太网中,MTU一般是1500,而无线路由器默认一般是 1492。 |
本地MTU值 > 网络MTU值 → 拆包,效率下降 本地MTU值 < 网络MTU值 → 未发挥最大传输能力 本地MTU值 < 网络MTU值 → 理想的本地MTU值 | |
inet | 表示网络接口的IP地址,ps:192.168.75.2 |
netmask | 表示网络接口的子网掩码,ps:255.255.255.0 |
broadcast | 表示网络接口所在网络的广播地址,ps:192.168.75.255 |
ether | 表示网络接口的物理地址(MAC地址),ps:00:0c:29:d5:63:ab |
ps:
ps备注:ifconfig -a 显示所有活动及非活动的连接
第一行:以太网卡的名字不是常见的eth0,变成了ens33。
其中en代表以太网卡
ens33代表PCI接口的物理位置为(0,3), 其中横座标代表bus,纵座标代表slot
UP:代表此网络接口为启用状态(down为关闭状态)
RUNNING:代表网卡设备已连接
MULTICAST:表示支持组播
MTU:为数据包最大传输单元
第二行:网卡的IP地址、子网掩码、广播地址
第三行:IP v6地址
第四行:Ethernet(以太网)表示连接类型;
ether:表示为网卡的MAC地址
第五行:接受数据包个数、大小统计信息
第六行:异常接受包的个数、如丢包量、错误等
第七行:发送数据包个数、大小统计信息
第八行:发送包的个数、如丢包量、错误等
2.1网络接口配置文件
思路:
1.添加一块网卡
2.[root@hehe ~]#ip a 查看网络接口号,我这里查到的是ens37
3.[root@hehe ~]# cd /etc/sysconfig/network-scripts/ 切换目录
4.[root@hehe network-scripts]# cp ifcfg-ens33 ./ ifcfg-ens37
将ens33网卡文件拷贝一份到当前目录,修改参数
5.[root@hehe network-scripts]# vim ifcfg-ens37 编辑网卡
6.[root@hehe network-scripts]# systemctl restart network 重启一下网卡就可以
具体操作:
2.2如何关闭网卡【两种方式】
法一(临时禁用):
开启网卡:ifconfig 【网络接口】 up
关闭网卡: ifconfig 【网络接口】 down
法二:
开启网卡: ifup 【网络接口】
关闭网卡: ifdown 【网络接口】
第一种方法(临时禁用):
第二种方法:
2.3.如何临时修改网卡IP
1.添加临时网卡IP:ifconfig ens33:1 192.168.75.10
2.永久修改网卡IP
ifconfig ens33 192.168.75.10 netmask 255.255.255.0
3.查看主机的名称---hostname命令
[root@hehe ~]# hostname 【主机名】 //临时修改主机名
[root@hehe ~]# hostnamectl set-hostname 【主机名】 //永久修改主机名称
[root@hehe ~]# vim /etc/hostname //设置完以后需要重启系统才能生效
3.1.临时修改主机名
3.2.永久修改主机名
4.查看路由条目---route命令
4.1.查看路由条目--route
route
route -n ##将路由记录中的地址信息显示为数字形式
ip route 或者ip route show ##查看路由配置
ps:
1.Destination 列对应目标网段的地址
2.Gateway 列对应下一跳路由器的地址
3.Iface 列对应发送数据的网络接口
第二种方法:
4.2.添加静态路由
1.添加静态路由,通过“route add”操作可以添加路由记录,
结合“-net”选项指定目标网段的地址,结合“gw”选项指定下一跳路由器的IP 地址
2.添加、删除默认网关记录,需要注意的是,在同一个主机的路由表中只应有一条默认网关记录。
若同时存在多条默认网关记录,则可能导致该主机的网络连接出现故障。
添加、删除默认网关记录时,与添加、删除静态路由记录的命令格式类似,
但指定目标网段时只需简单地使用“default”表示即可
5.查看网络连接情况---netstat命令
netstat【命令选项】
netstat【命令选项】 | grep 【指定文件名结尾】(过滤出相对应的文件)
用法: ①通常使用"-anpt"组合选项,以数字形式显示当前系统中所有的tcp连接信息,同时显示对应的进程信息。
②配合管道符grep过滤出特定的记录。
选项 | 作用 |
-n | 以数字的形式显示相关的主机地址、端口等信息 |
-r | 显示路由表信息 |
-a | 显示当前主机中所有活动的网络连接信息 |
-l | 显示处于监听状态的网络连接及端口信息 |
-t | 查看TCP协议相关的信息 |
-u | 查看UDP协议相关的信息 |
-p | 显示与网络连接相关联的进程号、进程名称信息(需要root权限) |
6. 获取socket统计信息---ss/lsof命令
1.ss [选项] #查看系统的网络连接情况,获取socket统计信息
2.lsof [选项] #查看打开服务进程的端口(TCP、UDP)
ss命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,
它可以显示和 netstat 命令类似的输出内容。
但 ss 的优势在于它能够显示更多更详细的有关 TCP 和连接状态的信息
,而且比 netstat 更快速更高效。
要想使用ss命令是Linux CentOS7中iproute软件包的一部分,
默认已经安装,如果没安装,
额可以通过yum安装(几乎所有的Linux系统都会默认包含netstat命令,但并非所有系统都会默认包含ss命令。)
1.real:从进程1s开始执行到完成所耗费的cPU_总时间。该时间包括_1s进程执行时实际使用的CPU时间,1s进程耗费在阻塞上的时间(如等待完成I/o操作)和其他进程所耗费的时间(Linux是多进程系统,1s在执行过程中,可能会有别的进程抢占CPu) 。
2.user:进程1s执行用户态代码所耗费的cPU时间。该时间仅指 1s 进程执行时实际使用的cPU时间,而不包括其他进程所使用的时间和本进程阻塞的时间。
3.sys:进程 1s 在内核态运行所耗费的 cPü时间,即执行内核系统调用所耗费的 cPU时间。现在,我们应该对这三个时间非常清楚了吧。1s 命令的真正执行时间是多少﹖答案就是user+sys的时间,但一般情况下,real=user+sys,因而我们就使用real 的时间作为 1s 的执行时间了
参数 | 说明 |
-h | --help 通过该选项获取史多的使用帮助。 |
-v | --version显示软件的版本号。 |
-t | --tcp显示TCP协议的sockets。 |
-u | --udp显示UDP协议的sockets。 |
-n | --numeric 不解析服务的名称,如"22”端口不会显示成"ssh"。 |
-l | --listening只显示处于监听状态的端口。 |
-p | --processes显示监听端口的进程。 |
-a | --all对TCP协议来说,既包含监听的端口,也包含建立的连接。 |
-r | --resolve把IP解释为域名,把端口号解释为协议名称。 |
6.1netstat和ss的区别
1.ss命令用来替代netstat的,可以用来获取socket统计信息,它可以显示和netstat类似的内容。
ss的优势在于它能够显示更多更详细的有关TCP和连接状态的信息,而且比netstat更快速更高效。
2.ss快捷高效
ss比netstat快的主要原因是,netstat是遍历/proc下面每个PID目录,ss直接读/proc/net下面的统计信息。所以ss执行的时候消耗资源以及消耗的时间都比netstat少很多。
当服务器的socket连接数量非常大时(如上万个),无论是使用netstat命令还是直接cat /proc/net/tcp执行速度都会很慢,相比之下ss可以节省很多时间。ss快的秘诀在于,它利用了TCP协议栈中tcp_diag,这是一个用于分析统计的模块,可以获得Linux内核中的第一手信息。如果系统中没有tcp_diag,ss也可以正常运行,只是效率会变得稍微慢但仍然比netstat要快。
3.输出结果:
总结:ss要比netstat速度快
二.测试网络连接
1.测试网络连接---ping命令
[root@localhost ~]# ping [选项] 目标主机
1.[root@localhost ~]# ping 192.168.10.10 #最常用是后面跟ip地址
2.[root@localhost ~]# ping www.baidu.com #后面还可跟域名
3.[root@localhost ~]# ping -c 5 192.168.75.1 #-c表示指定ping的次数,ping 4次自动停
4.[root@localhost ~]# ping -c 10 -i 0.5 192.168.75.1 #-i
秒数:设定间隔几秒送一个网络封包给一台机器,预设值是一秒送一次。【默认是1秒一次】
5.[root@shengjie ~]# ping -w 5 www.baidu.com #表示ping的超时时间为5s,意思是只ping5秒,5秒后结束 【一共只执行五秒钟,超过五秒就结束了】
2.跟踪数据包----traceroute命令
1.跟踪数据包的路由途径:traceroute
2.若服务器上没有 traceroute 命令,可通过 yum 方式安装 traceroute 软件包
3.traceroute 命令可以用于测试从当前主机到目的主机之间经过了哪些网络结点,并显示各中间结点的连接状态(响应时间)。对于无法响应的结点,连接状态将显示为“*”
格式:[root@localhost ~]# traceroute 目标主机
3.域名解析---nslookup命令与dig命令
1.[root@localhost ~]# nslookup 目标主机地址 [DNS服务器地址] #测试DNS域名解析
2.ps:也可以用dig命令
Server: 114.114.114.114 #当前的上连DNS服务器
Address: 114.114.114.114#53 #当前的上连DNS服务器的IP地址和端口
#以下为 DNS 解析的反馈结果
Non-authoritative answer:
Name: www.google.com #解析的IP地址
4.域名解析配置文件
配置文件位置:/etc/resolv.conf
/etc/resolv.conf
文件中记录了本机默认使用的DNS服务器的地址信息,对该文件所做的修改将会立刻生效。Linux操作系统中最多可以指定3个(第3个以后的将被忽略)不同的
DNS 服务器地址,优先使用第1个 DNS服务器。
5.本地主机映射文件
/etc/hosts 文件中记录着一份主机名与IP地址的映射关系表,一般用来保存经常需要访问的主机的信息。当访问一个未知的域名时,先查找该文件中是否有相应的映射记录,如果找不到再去向DNS服务器查询。
1.vim /etc/hosts
三.总结:
查看网络配置:
ifconfig、hostname、route、netstat、ss
测试网络连接
ping.traceroute、nslookup、dig
设置网络地址参数
临时配置、永久配置