基础知识
网卡,是专门用来负责计算机网络通讯的硬件设备。
IP 地址是设置在网卡上的地址信息。
拿手机为例子:
网卡相当于SIM卡,IP 地址相当于电话号码。
对于WINDOWS 电脑,很好操作,可以直接在网络-本地连接中查看:
在ubuntu 系统中,也可以通过右上角的设置查看:
MAC 同样可以查看:
相关命令
查看网卡信息
可以用来查看当前计算机的网卡信息。
我的英文版,长这个亚子:
$ ifconfig
ens33: flags=4163<UP,BROADCAST,RUNNING,MULTICAST> mtu 1500
inet 192.168.130.128 netmask 255.255.255.0 broadcast 192.168.130.255
inet6 fe80::9f83:917c:bde1:77fa prefixlen 64 scopeid 0x20<link>
ether 00:0c:29:4b:90:45 txqueuelen 1000 (Ethernet)
RX packets 134473 bytes 197764962 (197.7 MB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 21188 bytes 1646829 (1.6 MB)
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 776 bytes 74302 (74.3 KB)
RX errors 0 dropped 0 overruns 0 frame 0
TX packets 776 bytes 74302 (74.3 KB)
TX errors 0 dropped 0 overruns 0 carrier 0 collisions 0
这两行内容,对应两个网卡。
其中:
1. ens33 inet 地址
该地址应该与网络连接中查看的ipv4 地址相同
2. lo inet 地址
网络连接本地环回地址,用来测试网卡是否正常工作
测试网络
使用ping 命令:ping IP 地址
我们用mac 的终端使用ping 测试ubuntu 虚拟机中的地址(将它们当作两台不同的电脑):
# ubuntu 中
mugpeng@mugpeng-virtual-machine:~$ ifconfig | grep inet
inet 192.168.130.128 netmask 255.255.255.0 broadcast 192.168.130.255
inet6 fe80::9f83:917c:bde1:77fa prefixlen 64 scopeid 0x20<link>
inet 127.0.0.1 netmask 255.0.0.0
inet6 ::1 prefixlen 128 scopeid 0x10<host>
# 检测
$ ping 192.168.130.128
PING 192.168.130.128 (192.168.130.128): 56 data bytes
64 bytes from 192.168.130.128: icmp_seq=0 ttl=64 time=0.424 ms
64 bytes from 192.168.130.128: icmp_seq=1 ttl=64 time=0.308 ms
64 bytes from 192.168.130.128: icmp_seq=2 ttl=64 time=0.599 ms
64 bytes from 192.168.130.128: icmp_seq=3 ttl=64 time=0.578 ms
64 bytes from 192.168.130.128: icmp_seq=4 ttl=64 time=0.349 ms
64 bytes from 192.168.130.128: icmp_seq=5 ttl=64 time=0.252 ms
64 bytes from 192.168.130.128: icmp_seq=6 ttl=64 time=0.223 ms
^C
--- 192.168.130.128 ping statistics ---
7 packets transmitted, 7 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.223/0.390/0.599/0.139 ms
在底部可以看到,一共进行了七次数据传输,其中0次失败,证明是连接成功的。
另外,我们使用ctrl+c 终止ping 测试。
$ ping 195.201.82.185
PING 195.201.82.185 (195.201.82.185): 56 data bytes
64 bytes from 195.201.82.185: icmp_seq=0 ttl=113 time=293.444 ms
64 bytes from 195.201.82.185: icmp_seq=1 ttl=113 time=292.048 ms
64 bytes from 195.201.82.185: icmp_seq=2 ttl=113 time=291.955 ms
64 bytes from 195.201.82.185: icmp_seq=3 ttl=113 time=300.048 ms
64 bytes from 195.201.82.185: icmp_seq=4 ttl=113 time=293.107 ms
64 bytes from 195.201.82.185: icmp_seq=5 ttl=113 time=295.848 ms
64 bytes from 195.201.82.185: icmp_seq=6 ttl=113 time=378.298 ms
64 bytes from 195.201.82.185: icmp_seq=7 ttl=113 time=291.617 ms
^C
--- 195.201.82.185 ping statistics ---
8 packets transmitted, 8 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 291.617/304.546/378.298/27.998 ms
再看一下这个测试的结果,可以看到右侧的时间比之前的显著上升了;时间越短,说明网络连接速度越快。
如果我们输入一段没有连接的ip 地址用于测试,是无法接收到数据的:
$ ping 192.168.130.121
PING 192.168.130.121 (192.168.130.121): 56 data bytes
Request timeout for icmp_seq 0
Request timeout for icmp_seq 1
Request timeout for icmp_seq 2
^C
--- 192.168.130.121 ping statistics ---
4 packets transmitted, 0 packets received, 100.0% packet loss
如果想要检测本地网卡是否正常,可以用lo 环回地址进行检测。
$ ping 127.0.0.1
PING 127.0.0.1 (127.0.0.1): 56 data bytes
64 bytes from 127.0.0.1: icmp_seq=0 ttl=64 time=0.086 ms
64 bytes from 127.0.0.1: icmp_seq=1 ttl=64 time=0.055 ms
64 bytes from 127.0.0.1: icmp_seq=2 ttl=64 time=0.079 ms
64 bytes from 127.0.0.1: icmp_seq=3 ttl=64 time=0.049 ms
64 bytes from 127.0.0.1: icmp_seq=4 ttl=64 time=0.079 ms
^C
--- 127.0.0.1 ping statistics ---
5 packets transmitted, 5 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 0.049/0.070/0.086/0.015 ms
原理
ping 测试,相当于发送56 字节数据发送给ubuntu 系统;而ubuntu 会返回一个64 字节的数据包发送回我们进行测试的mac 系统。