当前课程知识点:互联网体系结构 > 第一周:互联网概述 > 网络相关命令 > Video
比如我们是一个网管
那我们说是这个时候我们那边的同事告诉我们哦
我这边上不了网了
我这个服务器,那个服务器上不了网
我也访问不了
那这个时候你怎么办呢
你都到Linux系统里面
你首先你得排查吧
排查
基本上我们是四步走
有四个方向来劲了
也不是也不一定是不是按部就班的来
首先
我们可以
就是四处侦测的方式吗
然后我们ping一下
如果localhost或者127.0.0.1这个地址
然后ping完之后
如果是不通的话
说明我们网卡有问题
说明或者我们的驱动有问题对吧
然后反正系统有问题
那我们自己的本机的问题
你ping
我们本地都不通
通常情况下是驱动问题
然后还有就是我们如果是这边通的话
那我们就ping一下我的网关
你怎么看到我的网关,就用
ip route show 就可以看到我们的网关了那这个时候我们最起码可以测到
如果网关通的话
说明我们的局域网的交换机交换功能一直到我们的路由器都没啥大问题
到到我们的路由器都没问题
那就能把我们的路由器
我们的网关还访问着,在通常情况下
我们的网关就是我们的路由器啊
我们能见到的就是这样子
然后我们再ping
DNS server
这个时候为什么要ping他呢
如果是你要ping的是一个IP不通的时候
你没必要继续ping他了
你要是ping了一个
域名ping不通的话
你就ping一下他
如果是我的
比如我正在ping的一个域名ping不通
但是我ping了一个外网的一个IP拼得通
那通常情况下
我们就可以
怀疑是DNS server不解析了
因为我把域名转为IP这一环节出错了
所以这个时候ping我们DNS server
然后最后我们ping一下远端的一个地址
不管是我们的域名或者一个远的IP都可以啊
其实
我们通常情况下
在ping的时候我直接都是ping在远端地址
ping通你就过了
ping不通
那我回来再检查是吧
通常是这样这个这个这个理由
所以这是我们的侦测网络的四个步骤
OK那我们刚才我们说了
我们的ping命令
其实我们还有一个网络的一个检测工具
这个是我们
比如我们一个网络是通的
但是我就不知道他这个网络性能的损耗是多少
它中间是
各自在哪个地方
比如说我要访问百度
那我们这边我们可以试一下
mtr
他就是从这边就从我们现在访问开始到我们的
每一级的路由器
每级的路由器
它的响应速度是什么
然后我们可以看到我们整个的一个响应的这个情况
用小写的Q就把它退掉了啊
里面ping到的时候
我们会有一些数据
他代表什么意思
比如LOSS
就是我们的丢包率
丢有多少个
然后还有就是我们发送的这边send
我们发了几个包
准备丢包率百分之百
然后我们只发了一个包
又丢了一个包吗
有时候不要太傻
这个时候我们看一下
丢包的次数是我们发了多少次
然后最后一次时延
就是我刚刚最后一次他多少
然后还有就是我的
平均的时间是多少
然后我们
恩最好的时候
他的实验是多少。最坏的时候
实验是多少
然后他的一个标准偏差是多少
就是我们那个mtr的一个网络监测工具
可是当你会发现哎呀
我能访问外网
但是呢
网速挺慢的
然后这个时候你就排查一下问题
那我们
比如我们公司就有好几个路由器
那这个时候我们就可以ping一下
看到底是从哪个环节到哪个环节出了问题
对吧
这是mtr的一个侦测工具
OK我们这边还有个traceroute
其实刚才我们的mtr工具啊
他那里边的所有的
所有的我们的东西
我们那里面的那个IP地址都是用traceroute进
进行做的获取到的和经过的所有的网关的地址
然后我们这边看一下你traceroute是什么样子
traceroute就是我要访问百度
他就告诉我
从这边到这边有几个网关
一共用了几个网关
最多是跳了三十次
有可能有因为我们刚才刚做完那个mtr
他可能就没有traceroute的话
还要有些缓存
他就没有去做
就一下子就完成了
那如果是我们在做在正常情况下在做的时候
他们那会有比如说
像这个地方
我们做的时候有一种星星
什么意思我这块他因为他测连测三次
他没有统计出来测试的结果
去往他那边跳没跳成功
或者是没有测试结果出来就是星星
那我们这边再看一下我们这边的一个IP命令
IP命令也是比较基础的一个命令啊
然后我们首先我们看一下IP要addr show
然后其实我们看到我们这个IP addr show
其实跟我们刚才的那个if config就第一条命令类似的
只不过他反过来了吗
他把他排到前面去了
把他排后面这个这个不碍事
他们显示的内容有一点点差别
但是都是可以看到我们的网卡信息的
然后这边我们还有就说我们
比如说我们启用网卡
我们禁用我们的网卡
启用禁用网卡
这块我就不演示了
就是把我们的网卡作为一个set up或者down就用网卡了
一个启动
还有就是我们对网卡进行分配
一个IP地址
我们一个网卡可以有多个IP地址对吧
我们一个一个网卡
通常只有一个MAC地址
但是我们通常可以上面可以绑多个IP地址
有这个也好理解
因为我可以多个子网
然后我们是用这个这种命令来进行添加一个IP地址
然后用这个命令把他这个IP给删掉
但是我们通过我们的图形化界面也可以配上这种配置的话
通过图形化界面也是可以配置的
比如我们这个这个里边
然后我们这边的IPV4
然后我们现在默认的是我们的一个DHCP
我们可以添加一个地址
然后还要把IPV6的吧
都是可以的
OK
这个添加跟新增的这个这个命令啊
其实不一定要记住了
知道有这个命令
然后随时用随时查
随时就搜就可以了
然后我们可以再看一下IP地址
我可以IP route
就是我们看到我们本地的一个路由信息
然后也可以添加一些静态路由信息
然后删除静态路由信息
然后就这个静态路由信息就说我没有
没有这种路由信息
我们通常情况下
我的路由很简单了
明天就轮到我们的网关就可以了
轮到我们的路由器行了
我们这边是用的
是虚拟机
然后我们可能外面还有一个虚拟的一个
这个设备
可能他也要加一个路由
看我们的网卡是个什么形式
什么什么模式
然后这边添加路由跟删除静态路由
这两个就也是一个道理嘛
不一个个演示啊
我给大家一个演示
用到的时候查一下就可以了
就是这是一个查看路由的一个一个命令
有这个命令知道有就行了
我们arp
arp地址就是我们要根据arp命令
就是我们要刚才说了吗
根据IP地址去查我们的mac
那我们首先看一下我们的啊
他不是arp命令啊
这个
那不就是说
我们这边有一个IP地址
我们这个IP地址
他的那个地址是这个
然后呢
我们这边还有就是
我们可以
我们可以去把这些IP地址我们手动去建一个静态的IP地址
不是我们我们自己没有学习到的
然后他可以建一个arp
然后还有一个就是我们也可以去可以去删除这个
他们
已经学习到的也可以被删掉的
被清空的都可以
这刚刚给我们刚刚讲到网络的东西是类似的
就是我们这边会可以查询到的一些信息
在路由器上
在我们的linux虚拟机上
我们在自己的linux里面
那我们现在看一下这个
Curl和Wget这两个命令这两个命令起的作用差不多的这两命令是干什么用的呢
这2个命令
其实是我们客户端
我们听说过http server
那我们可能没大家没听说过
这http客户端
http server是什么就是我们
比如访问百度
在百度那边的那个网页
那个时候
他就是一个http server
那我们这边如果是
http客户端是什么呢
我们其实每个人都有很多的http客户端啊
最典型的就是我们的浏览器
你只要能访问的网络这样的请求啊
这个都可以称为http客户端
那我们看一下我们这边的
这有个浏览器就是我们的http客户端
有点慢啊
刚更新过系统
里面了
比如我们这边
百度进来之后
我们请求的这个东西就是我们的这个http请求
我们就是回车一下
发送过去的请求就是http请求
那我如果是我们的这个也是个http客户端
那我怎么去获取到我们的百度
看看我试一下
你这个命令要先装一下啊
输入一个命令
如果不存在的话
它会提示你
我们在其实在很多的其他的语言里面
我们这个curl还是用的蛮多的
啊比如php里面就有这个函数
就这就这个库
然后对外部请求的时候就可以直接调他
恩我们这个curl
我们如果是大家是做程序员的话
我们测试要提交一个请求啊
或者要获取一个请求的时候
我们可以用浏览器也可以用
比如我们POSTman
但是呢
我们通常情况下就是一条命令就搞定的事儿
那我们就用curl
就可以了啊
ok刚才我在百度的源码就已经打印到这里
恩刚才没有那种图形化的界面对吧
因为我们本身html就是可以生成出来
新的界面吗
刘安琪说
OK
这是我们的curl这一块
大家刚才刚才我们说了一半啊
就是我们可以模拟一些get和POST请求这个还是蛮有用的
在我们的开发
在测试的过程中
这个工具用的是蛮普遍的
嗯
或者我们要下载一个东西的时候
我们也会这样子
好那我们这边
其实我们模拟请求的一个http
curl
我们常人通常用他
刚才说了
我们下载的时候也有他
但是呢
我们通常情况下下载东西
我就wget
更方便
在下载东西为什么呢
你看一下哈
比如同样是百度的东西
百度
好再看一下
他会告诉你
刚才我们的html直接打印下来了
反正这边他默认的wget直接就保存了一个
index.html
你们可以看一下
这边就是我们的下载的东西
所以用它下载就是也是一个以第一条命令就可以搞定了哈简单的
这个wget还不用安装
然后curl就是看系统
由于有些时候需要安装
又要被人不需要安装
安装也不复杂
后来这一次一个比较关键的一个命令了
这个命令是我们这个网络里面用的最最最多的一个名额
OK
那我们先看一下我们这个命令
netstat
其实我们这边省了一点
他是查询我们网络连接状态的一个
一个一个一个相关的程序
他就是用它来可以告诉我们的网络哪些正常
哪些不正常
OK
嗯
那我们看一下几个典型的应用
首先我们netstat
-a
就是列出来当天所有的正在使用的端口
net端口
列出来
然后这个呢
就是列出我们所有的TCP的端口
-at tcp
这所有的都是我们的TCP协议里面的然后-au
就是我们的UDP
UDP的协议是不同的协议
然后呢
我们用的蛮多的就是这个
我们知道这个端口了
但我怎么知道这个是哪个进程的端口
刚才我们在那个讲我们端口这一节的时候
我们就说了吗我们端口通常是跟进程有关系
我们不同的进程使用的端口是不一样的
在我们这边看一下
OK,我们看另外一个
使我们的路由信息就刚才跟我们那个IP route类似的
类似的有一个信息也是两条
tnl这个是什么意思呢
这里是指列出来
我们所有的
监听的这个端口,什么是监听的
就是我们的程序
我们统统分为服务器端跟客户端吗
我们的客户端请求的时候
我们是不是监听的状态
我们服务器端通常会开一个服务
这一个端口一直监听
如果有信息来了的话
他就去服务
所以我们称为这个这种是监听的程序
那我们通常手呃
我们通常在这些服务器程序
那通常都是啊
都是我都在我们这个列表里面
OK这几个常用的例子敲一敲
这个命令其实是蛮常用的
-课程内容简介
--Video
-网络协议基础
--Video
--Video
--Video
--Video
-上网浏览网页背后的网络通信过程
--Video
--Video
-实验环境安装配置
--Video
-网络相关命令
--Video
--Video
-本周作业
--外部链接
-编译、构建和调试
--Video
--Video
--Video
-Socket接口
--Video
--Video
-UDP范例代码
--Video
-TCP范例代码
--Video
-本周作业
--外部链接
-TCP协议概述
--Video
--Video
-Linux网络协议栈源代码简介
--Video
-Linux系统的编译、构建和调试
--Video
--Video
-TCP协议源代码分析
--Video
-本周作业
--外部链接
-IP协议基础
--Video
-路由表
--Video
-路由转发举例
--Video
-IP协议栈源代码解析
--Video
-路由协议简介
--Video
-网络层数据传输路径解析
--Video
-本周作业
--外部链接
-ARP协议基础
--Video
-ARP解析的过程
--Video
-ARP解析在网络传输过程中的作用
--Video
-ARP协议栈源代码解析
--Video
-本周作业
--外部链接
-以太网基础
--Video
--Video
-交换机的学习、转发和过滤数据库
--Video
-常见二层协议
--Video
-数据链路层在Linux网络协议栈中的一些关键代码分析
--Video
-本周作业
--外部链接
-DNS协议基础
--Video
-DNS域名的存储
--Video
-DNS域名解析过程分析
--Video
-本周作业
--外部链接
-互联网架构设计的最初动机与核心目标
--Video
-互联网架构设计的具体目标及背后重要权衡
--Video
--Video
--Video
-课程考核
--外部链接