常用网络命令
配置ip地址
ip地址是计算机在互联网中唯一的地址编码。每台计算机如果需要接入网络和其他计算机进行数据通信,就必须配置唯一的公网IP地址
配置ip地址有两种方法:
-
setup工具
-
vim /etc/sysconfig/network-scripts/ifcfg-eth0
手工修改配置文件配置完成后使用
service network restart
重启网络服务对于复制镜像有可能需要重置UUID(唯一识别符)
[root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-eth0 #删除 MAC 地址行 也就是HWADDR行 [root@localhost ~]# rm -rf /etc/udev/rules.d/70-persistent-net.rules #删除 MaC 地址和 UUID 绑定文件 [root@localhost ~]# reboot #重启 Linux
ifconfig命令
最主要的作用就是查看 IP 地址的信息,直接输入 ifconfig 命令即可
- 命令名称:ifconfig
- 英文原意:configure a network interface
- 所在路径:/sbin/ifconfig
- 执行权限:超级用户
- 功能描述:配置网络接口
[root@localhost ~]# ifconfig
eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
#标志 最大传输单元
inet 192.168.252.20 netmask 255.255.255.0 broadcast 192.168.252.255
#IP 地址 子网掩码 广播地址
inet6 fe80::546e:994b:30c:e2f7 prefixlen 64 scopeid 0x20<link>
#IPv6 地址(目前没有生效)
ether 00:0c:29:aa:d2:96 txqueuelen 1000 (Ethernet)
#MAC 地址
RX packets 3728 bytes 310958 (303.6 KiB)
RX errors 0 dropped 0 overruns 0 frame 0
#接收的数据包情况
TX packets 3051 bytes 1495119 (1.4 MiB)
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 1000 (Local Loopback)
RX packets 8 bytes 696 (696.0 B)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 8 bytes 696 (696.0 B)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
ping命令
主要通过ICMP协议进行网络探测,测试网络中主机的通信情况。ping命令的基本信息如下:
- 命令名称:ping
- 英文原意:send ICMP ECHO_REQUEST to network hosts
- 所在路径:/bin/ping
- 执行权限:所有用户
- 功能描述:向网络主机发送ICMP请求
[root@localhost ~]# ping [选项] IP
选项:
-b:后面加入广播地址,用于对整个网段进行探测
-c 次数:用于指定ping的次数
-s 字节:指定探测包的大小
例如可以使用“-b”选项,后面加入广播地址,探测整个网段有多少主机是可以和我们通信
[root@localhost ~]# ping -b -c 3 192.168.103.255
#探测192.168.103.0/24网段有多少主机是可以和我们通信
ss命令
ss是网络状态查看命令,既可以查看到本机开启的端口,也可以查看有哪些客户端连接。
- 命令名称:ss
- 英文原意:another utility to investigate sockets
- 所在路径:/usr/sbin/ss
- 执行权限:超级用户
- 功能描述:查询网络访问
[rootlocalhost~]# ss [选项]
选项:
-a:列出所有网络状态,包括Socket程序
-n:使用IP地址和端口号显示,不使用域名与服务名
-p:显示PID和程序名
-t:显示使用TCP协议端口的连接状况
-u:显示使用UDP协议端口的连接状况
-l:代表查看监听状态
例子
#查看本机所有网络连接
[root@localhost ~]# ss -an
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
nl UNCONN 0 0 0:1031 *
nl UNCONN 0 0 0:0 *
nl UNCONN 0 0 0:1031 *
nl UNCONN 4352 0 4:1680 *
nl UNCONN 768 0 4:0 *
nl UNCONN 0 0 6:0 *
nl UNCONN 0 0 7:0 *
nl UNCONN 0 0 7:818 *
nl UNCONN 0 0 7:1 *
nl UNCONN 0 0 7:818 *
nl UNCONN 0 0 7:1 *
nl UNCONN 0 0 9:1 *
nl UNCONN 0 0 9:0 *
···省略部分内容···
#协议 状态 接收队列 发送队列 本机IP地址和端口号 远程IP地址和端口号
例子
#查看本机开启的端口
[root@localhost ~]# ss -tuln
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 *:68 *:*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 100 127.0.0.1:25 *:*
tcp LISTEN 0 128 [::]:22 [::]:*
tcp LISTEN 0 100 [::1]:25 [::]:*
#协议 状态 接收队列 发送队列 本机IP地址和端口号 远程IP地址和端口号
例子
#查看本机开启的端口与正在进行的连接
[root@localhost ~]# ss -tuan
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 *:68 *:*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 100 127.0.0.1:25 *:*
tcp ESTAB 0 36 192.168.133.135:22 192.168.133.1:1509
#ESTAB 状态,代表这个连接正在进行。也就是133.1通过1509端口正在连接133.135的22端口
tcp LISTEN 0 128 [::]:22 [::]:*
tcp LISTEN 0 100 [::1]:25 [::]:*