目录
[5.ss(socket statistics)](#5.ss(socket statistics))
一、网路命令
查看Linux基础的网络设置
|--------|----------------------|
| 网关 | route -n |
| IP地址 | ifconfig ip a |
| DNS服务器 | cat /etc/resolv.conf |
| 主机名 | hostname |
| 路由 | route -n |
| 网络连接状态 | ss 或 netstat |
| 域名解析 | nslookup host |
1.ifconfig
ifconfig查看网卡信息
cpp
[root@localhost ~]#ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.21.10 netmask 255.255.255.0 broadcast 192.168.21.255
inet6 fe80::20c:29ff:fecb:bd56 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:cb:bd:56 txqueuelen 1000 (Ethernet)
RX packets 16296 bytes 1047585 (1023.0 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 1396 bytes 108996 (106.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::20c:29ff:fecb:bd60 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:cb:bd:60 txqueuelen 1000 (Ethernet)
RX packets 9122 bytes 557034 (543.9 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8 bytes 648 (648.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:49:46:6b txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
在不带任何选项和参数执行 ifconfig 命令时, 将显示当前主机中已启用(活动)的网络接口信息
常用格式:
ifconfig 具体网卡名称
ifconfig -a 显示所有的网卡
cpp
[root@localhost ~]#ifconfig -a
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.21.10 netmask 255.255.255.0 broadcast 192.168.21.255
inet6 fe80::20c:29ff:fecb:bd56 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:cb:bd:56 txqueuelen 1000 (Ethernet)
RX packets 7676 bytes 510406 (498.4 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 764 bytes 66976 (65.4 KiB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ens36: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet6 fe80::20c:29ff:fecb:bd60 prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:cb:bd:60 txqueuelen 1000 (Ethernet)
RX packets 1210 bytes 73428 (71.7 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8 bytes 648 (648.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
lo: flags=73<UP,LOOPBACK,RUNNING> mtu 65536
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
loop txqueuelen 1 (Local Loopback)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0: flags=4099<UP,BROADCAST,MULTICAST> mtu 1500
inet 192.168.122.1 netmask 255.255.255.0 broadcast 192.168.122.255
ether 52:54:00:49:46:6b txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
virbr0-nic: flags=4098<BROADCAST,MULTICAST> mtu 1500
ether 52:54:00:49:46:6b txqueuelen 1000 (Ethernet)
RX packets 0 bytes 0 (0.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 0 bytes 0 (0.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ifconfig 网卡 down --------- 关闭网卡
ifdown 网卡 ---------------------关闭网卡
ifconfig 网卡 up------------开启网卡
ifup 网卡 --------------------开启网卡
ifconfig ens33:0 ip地址/子网掩码--------设置虚拟网卡
2.hostname
hostname --------查看主机名
hostname 名字--------临时修改主机名
hostnamectl set-hostname--永久修改主机名
vim /etc/hostname 将名字写入此文件也是永久修改(只有写在第一行才有用)
3.route
route 显示
route -n------------显示是数字形式
route add -net 10.0.0.0/8 gw 192.168.91.2 --------添加一条去往10.0.0.0段的路由,通过网关192.168.91.2转发
route del -net 10.0.0.0/8-------------------删除去往10.0.0.0段的路由
route add -net 0.0.0.0(default) gw 192.168.91.2-------------添加默认路由
route del -net 0.0.0.0(default) ---------------删除默认路由
4.netstat
netstat:查看网络连接情况
格式:netstat 选项
-a:显示主机中所有活动的网络连接信息(包括监听、非监听状态的服务端口)
-n:以数字的形式显示相关的主机地址、端口等信息
-r:显示路由表信息
-l:显示处于监听(Listening)状态的网络连接及端口信息
-t:查看 TCP(Transmission Control Protocol,传输控制协议)相关的信息
-u:显示 UDP(User Datagram Protocol,用户数据报协议)协议相关的信息
-p:显示与网络连接相关联的进程号、进程名称信息(该选项需要 root 权限)
-
一般先ping 看能不能通 如果你网络不通 网络调通 防火墙 抓包
-
看看你的服务是否开启 syetemctl status 服务名
-
ss netstat 看看你的 服务端口是否被占用 一个给一个服务 网页 80 你 apache nginx
-
最后看你 服务的配置文件是否正确
5.ss(socket statistics)
ss命令:也可以查看网络连接情况,主要用于获取 socket 统计信息,它可以显示和 netstat 命令类似的输出内容。
但 ss 的优势在于它能够显示更多更详细的有关 TCP 和UDP连接状态的信息,而且比 netstat 更快速更高效
ss快的秘诀在于,它利用到了TCP协议栈中tcp_diag。tcp_diag是一个用于分析统计的模块,可以获得Linux 内核中第一手的信息,这就确保了ss的快捷高效
格式:ss 选项
-t: tcp协议相关
-u: udp协议相关
-w: 裸套接字相关
-x:unix sock相关
-l: listen状态的连接
-a: 所有
-n: 数字格式
-p: 相关的程序及PID
-e: 扩展的信息
-m:内存用量
-o:计时器信息
-r: --resolve 把 IP 解释为域名,把端口号解释为协议名称。
6.ping
测试网络连通性 ICMP 协议
格式:ping 选项 IP地址
可以加
-C ----是发送多少个包
-W----表示等待10秒
7.nslookup
域名解析
格式:
nslook 域名
举例:
cpp
[root@kgc ~]#nslookup www.baidu.com
Server: 8.8.8.8
Address: 8.8.8.8#53
8.tcpdump
抓包工具
cpp
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
-i 指定网卡
dst 选项 目的地址
src 选项 源地址
cpp
[root@localhost ~]#tcpdump -i ens33 dst 192.168.91.101
[root@localhost ~]#tcpdump -i ens33 src 192.168.91.101
net 选项 tcpdump net 192.168.91.0/24
二、实操
1.单个网卡修改
先在虚拟机中添加一个网络适配器
cpp
[root@localhost ~]#vim /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet 网卡的类型 网口 type 可以不背
BOOTPROTO=static ip地址获取方式 dhcp static(none)
NAME=ens33 网卡的描述一般和 DEVICE一样
DEVICE=ens33 网卡的名称,必须和 ifconfig 中看到的一样
ONBOOT=yes 开机自启动
IPADDR=192.168.21.100 ip地址
NETMASK=255.255.255.0 子网掩码 PREFIX=24
GATEWAY=192.168.21.2 网关
DNS1=8.8.8.8 dns服务器1
DNS2=114.114.114.114 dns服务器2
2.双网卡配置
cpp
[root@localhost ~]#cd /etc/sysconfig/network-scripts/ 先切入进目标文件
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-ens36 复制
[root@localhost network-scripts]#vim ifcfg-ens36
TYPE=Ethernet
BOOTPROTO=static
NAME=ens36
DEVICE=ens36
ONBOOT=yes
IPADDR=192.168.21.110
NETMASK=255.255.255.0
GATEWAY=192.168.21.2
systemctl restart networ 注意:切记要重启网络
3.bond网卡绑定
cpp
[root@localhost network-scripts]#cd /etc/sysconfig/network-scripts/
[root@localhost network-scripts]#ls
ifcfg-ens33 ifup
ifcfg-ens33-1 ifup-aliases
ifcfg-ens33-2 ifup-bnep
ifcfg-ens33-3 ifup-eth
ifcfg-ens33-4 ifup-ib
ifcfg-ens36 ifup-ippp
ifcfg-lo ifup-ipv6
ifdown ifup-isdn
ifdown-bnep ifup-plip
ifdown-eth ifup-plusb
ifdown-ib ifup-post
ifdown-ippp ifup-ppp
ifdown-ipv6 ifup-routes
ifdown-isdn ifup-sit
ifdown-post ifup-Team
ifdown-ppp ifup-TeamPort
ifdown-routes ifup-tunnel
ifdown-sit ifup-wireless
ifdown-Team init.ipv6-global
ifdown-TeamPort network-functions
ifdown-tunnel network-functions-ipv6
[root@localhost network-scripts]#cp ifcfg-ens33 ifcfg-bond0
[root@localhost network-scripts]#vim ifcfg-bond0
TYPE=Ethernet
BOOTPROTO=static
NAME=bond0
DEVICE=bond0
ONBOOT=yes
IPADDR=192.168.21.123
NETMASK=255.255.255.0
GATEWAY=192.168.21.2
DNS1=8.8.8.8
BONDING_OPTS="mode=1 miimon=100 fail_over_mac=1"
cpp
[root@localhost network-scripts]#vim ifcfg-ens33
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
MASTER=bond0
SLAVE=yes
cpp
cp ifcfg-ens33 ifcfg-ens36
cp:是否覆盖"ifcfg-ens36"? y
[root@localhost network-scripts]#vim ifcfg-ens36
TYPE=Ethernet
BROWSER_ONLY=no
BOOTPROTO=static
NAME=ens36
DEVICE=ens36
ONBOOT=yes
MASTER=bond0
SLAVE=yes
最后systemctl restart network重启
最后pingy'x