重学操作系统(八)

重学操作系统(八)

前言

距离上次整理关于操作系统相关知识点,已经过去几周了,现在找到时间,继续看相关文章,继续总结。

今天看的文章是关于Linux网络指令相关的知识点。


贯穿全文的一道题:如何查看一个域名有哪些NS(Name Server)记录?


Linux网络相关指令

远程操作指令

远程操作指令,就我个人而言,用过最多的就是ssh和scp。ssh主要是用来远程登录目标计算机并进行操作的指令。scp主要是负责远程传输文件的。

  1. ssh(Secure Shell)

一般登录远程机器的指令,比如ssh xxx@ip的方式登录。

  1. scp

用来拷贝文件到远程机器,或者把远程机器的文件拷贝到本地。主要命令结构是”scp [可选参数] file_source file_target “,可选参数比如-C:允许压缩,-r:递归整个目录,-P:指定传输端口等。

常用的从本地拷贝到远程到命令:scp local_file remote_username@remote_ip:remote_file

常用的从远程拷贝到本地的命令:scp root@www.xxxx.xxxx:source_file target_file

查看本地网络状态

网络状态相关的主要命令,用的最多的应该是ifconfig和netstat

  1. ifconfig

主要就是用来查看本地ip和本地有哪些网络接口。如下图:

ifconfig 运行结果

  1. netstat

netstate的主要查看的是本机网络使用情况。不包括任何参数的话,查询的是本地所有socket。socket主要负责客户端和服务器之间收发数据。当客户端和服务端发生连接时,他们会同时生成一个socket文件,用来管理连接。

netstat 运行结果

使用 netstat -t tcp可以查看TCP连接

查看某个端口占用:比如端口8888,可以用:
netstat -ntlp | grep 8888

-n: 将特殊端口号用数字显示,-t:查看TCP协议,-l:显示连接中的连接,-p:显示程序名称

网络测试命令

通常我们都会使用一些命令,提前测试下网络延迟或者网络服务是否可用,能做到这写的命令,常用的主要是ping和telnet。

  1. ping

我们经常用到比如ping www.baidu.com,如下图:

ping www.baidu.com 运行结果

可以看出,本地机器是可以顺利连接到百度的。ping主要用到了ICMP协议,所以能看到icmp序号。time主要是往返一次的时间。ttl = time to live,是封包生存时间,一个封包从发出开始倒计时,如果超过52ms,这个包就会丢弃。ping同时能帮我们查询到一个网站的ip地址。

  1. telnet

telnet主要可以让我们知道目标服务器的某个端口是否提供服务,比如:
telnet www.baidu.com 443,输出如下:

telnet www.baidu.com 443 运行结果

telnet运行后是交互式界面,可以输入相应内容,机型HTTP请求。

DNS查询

如果需要知道一个DNS的解析过程,就需要用到一些DNS的查询命令。

  1. host

是一个DNS查询工具,比如:host www.baidu.com输出:

host www.baidu.com 运行结果

可以看出www.baidu.com是www.a.shifen.com的别名。

  1. dig

dig的用处是查询的内容更详细。比如还是查询百度的DNS:

dig www.baidu.com 运行结果

HTTP相关

  1. curl

curl的主要作用就是在命令行请求一个网页或者一个接口。cur支持多种协议,比如SMTP,FTP,HTTP等。例如:curl www.baidu.com

curl www.baidu.com 运行结果

从结果来看,我们请求到了百度的主页。cur也有一些可选的选项,比如curl -I,用来请求返回头。curl也可以执行POST请求。

总结

回到最开始的问题,查看NS记录,可以使用host -t ns {网址}来查看。比如:

host -t ns www.baidu.com

如何查看TIME_WAIT状态的连接数?

netstat -an | grep TIME_WAIT | wc -l

参考

[1] https://kaiwu.lagou.com/course/courseInfo.htm?courseId=478&sid=20-h5Url-0&buyFrom=2&pageId=1pz4#/detail/pc?id=4614

[2] https://www.runoob.com/linux/linux-comm-scp.html


 上一篇
重学操作系统(九) 重学操作系统(九)
重学操作系统(九)前言今天说一下在Linux(当然,我用的是Mac,不过差不多)下安装程序的一些知识点。我们知道,Linux安装程序一般就是两种方式: 下载源码然后编译 使用包管理器 第一种方式当然只针对开源项目,不过Linux大多数软
下一篇 
重学操作系统(七) 重学操作系统(七)
重学操作系统(七)前言今天继续学习记录关于操作系统这个课程。这一章节是Linux权限划分相关的知识点。我们最熟悉的,每次运行某些命令,会提示permission denied。这就代表当前用户没权限,这样我们加上sudo去运行,就可以了。
  目录