按照计软同学给的我们学校计算机网络课程的实验,这次做的是实验二,主要是熟悉一些常用的网络命令。
ifconfig
ifconfig -a
这个命令熟悉的不能再熟了,输入命令后显示的内容如下


inet:IP地址
netmask:子网掩码
broadcast:广播地址
mtu:最大传输单元(通信协议的某一层上面所能通过的最大数据包大小)
wlps20:电脑无线网卡的名字
enps30:电脑有线网卡的名字
lo:也就是localhost
ping
ping是一个测试程序,用于确定本地主机是否能与另一台主机交换(发送与接收)数据报。如果ping运行正确,就可以排除网络访问层、网卡、Modem的I/O线路、电缆和路由器等存在的故障。
在Windows下按缺省设置,运行Ping命令时发送4个ICMP(网间控制报文协议)“回送请求”,每个32字节数据;若正常应得到4个回送应答。
ping能够以毫秒为单位显示发送“回送请求”到返回“回送应答”之间的时间量。如果应答时间短,表示数据报不必通过太多的路由器或网络连接,速度比较快。
ping还能显示TTL(Time To Live存在时间值)。通过TTL值推算数据包已经通过了多少个路由器: 源地点TTL起始值(就是比返回TTL略大的一个2的乘方数)-返回时TTL值。例如,返回TTL值为119,那么可以推算数据报离开源地址的TTL起始值为128, 而源地到目标地要通过9个路由器网段(128-119);如果返回TTL值为246,TTL起始值就是256,源地点到目标地点要通过9个路由器网段。
ping 127.0.0.1
这个 ping命令被送到本地计算机的IP软件。如果出错,则表示TCP/IP的安装或运行存在某些最基本的问题。

黄色框里面的rtt是Round Trip Time,往返时延,指从客户端发送一个很小的数据包到服务器并返回经历的时间。因为在Ubuntu下面跟Windows不一样,ping了之后的icmp包会一直发,如果想要停止的话Ctrl+C。也可以放在后台运行同时将信息重定向到一个文件。
ping 127.0.0.1 > pingstat.txt
tail -f pingstat.txt #查看文件内容

jobs #查看后台命令
ps -ef |grep ping #找到ping进程号
kill 10408 #杀死进程

ping本机地址
这个命令被送到本计算机所配置的IP地址。如果出错,则表示本地配置或安装存在问题。本机地址可以由前面的ifconfig wlps20查看。(因为现在我用的是WiFi上网,如果是接网线的话应该看有线网卡enps30分配的IP地址)

ping局域网内的其他IP
这个命令经过本地计算机的网卡及网络电缆到达其他计算机,再返回。如收到回送应答,表明本地网络的网卡和载体运行正确。但如果收到0个回送应答,表示子网掩码不正确或网卡配置错误或电缆系统有问题。
安装工具
sudo apt-get install nmap

输入命令查找当前局域网中的IP地址
nmap -v -sP 你的ip地址/24
#假设192.168.1.0是我的IP地址
nmap -v -sP 192.168.1.0/24
扫描结果显示有八个主机在线,在这里也就是说有八个设备用我家的WiFi。

刚好我的手机的IP地址就是xxx.xxx.xxx.101

ping网关
这个命令如果应答正确,表示局域网中的网关路由器正在运行并能够作出应答。
输入命令找出当前网关的地址
ip route show

我们假设查询出来的网关是192.168.0.1
ping 182.168.0.1

ping远程IP
如收到4个应答,表示成功使用了缺省网关。对于拨号上网用户则表示能够成功的访问Internet(但不排除ISP(运营商)的DNS会有问题)。
ping 一个域名
对某个域名执行ping命令,本地计算机必须先通过DNS 服务器将域名转换成IP地址。如果出现故障,则表示DNS服务器的IP地址配置不正确或DNS服务器有故障。利用该命令实现域名对IP地址的转换功能。
比如ping www.yahoo.com或者ping www.github.com 。但是ping github的时候太慢了所以我就先提前退出了。

可以看到ping这些外国网站都很慢,而且也出现了丢包packet loss。
traceroute命令
traceroute命令可以用来跟踪数据报使用的路由(路径), 并列出在所经过的每个路由器上所花的时间。因此,traceroute一般用来检测故障的位置。该实用程序跟踪的路径是源计算机到目的计算机的一条路径,但不能保证或认为数据报总遵循这个路径。
traceroute用法:只需在traceroute后面跟一个IP地址或URL,traceroute会进行相应的域名转换。如:
traceroute www.yahoo.com
traceroute 192.168.12.5
注意:Windows下是tracert命令。
安装
sudo apt-get install traceroute

traceroute www.baidu.com

可以看到百度的域名对应的IP地址是14.215.177.38。可在浏览器输入这个IP地址,你就会看到百度的主页了。

输入命令后完整的显示结果如下

记录按序列号从1开始,每个纪录就是一跳 ,每跳表示一个网关。可以看到有一些行是以星号表示的。出现这样的情况,可能是防火墙封掉了ICMP的返回信息,所以我们得不到什么相关的数据包返回数据。
nslookup
nslookup命令的功能是查询一台机器的IP地址和其对应的域名,通常它能监测网络中DNS服务器是否能正确实现域名解析它,它的运行需要一台域名服务器来提供域名服务。如果用户已经设置好域名服务器,就可以用这个命令查看不同主机的IP地址对应的域名。
该命令的一般格式为:nslookup [IP地址/域名]
nslookup www.baidu.com

可以看到百度有两个IP地址,14.215.177.38是前面使用traceroute命令的时候由域名解析出来的一个结果,这次还多了个14.215.177.39。在浏览器输入,也是能访问百度的主页。
