阅读本文约需要10分钟,您可以先关注我们,避免下次无法找到。
01 前言
不管你是敲代码的,搞运维的,玩管理项目的,就算你只是想在家上个网,你都可能会用到成哥总结的**连通性工具。
成哥打算用上下两篇文章把下图总结的工具给大家讲透。
上篇给大家讲讲ICMP和TCP层面的**连通性测试工具。
下篇来介绍剩下的内容,包括nslookup、dig和curl。
另外,browser就是浏览器访问了,这个大家都很熟悉,不再赘述。
02 UDP
UDP是一个简单的面向数据报的传输层协议,不提供可靠性。
使用UDP的应用进程需要控制UDP数据报的长度,不能让其超过**MTU值,不然就会产生IP分片。因为UDP进程的每个输出操作都正好产生一个UDP数据报,并组装成一份待发送的IP数据报。
UDP数据报作为IP数据报的数据部分,包含在IP首部中。如下图所示:
UDP首部非常简单,其实UDP首部啥也没有。
且看下图,UDP首部只有四个部分:源端口号、目端口号、UDP长度和UDP检验和字段。
(1)端口号 (16位)
端口号表示发送进程和接收进程。
UDP端口号和TCP端口是相互独立的,有些知名服务的UDP和TCP使用相同的端口,只是为了使用方便。比如DNS的TCP 53端口和UDP 53端口。
(2)UDP长度 (16位)
UDP长度字段指的是UDP首部和UDP数据的字节长度之和。
理论上来说UDP的长度可达2^16字节,即65535字节。
下图展示了UDP长度为55字节的数据报。我们算一下,55字节(UDP长度) = 47字节(UDP数据) 8字节(UDP首部)。
(3)UDP检验和 (16位)
UDP检验和覆盖UDP首部和UDP数据。
03 nslookup
nslookup (name server lookup) 域名查询,是一个用于查询 Internet域名信息和诊断DNS 服务器问题的工具。
通过使用nslookup工具,可以在windows和linux平台上查到对应的ip地址,同时可判断DNS服务器是否正常工作。
Window平台的使用如下:
Linux平台的使用如下:
如果使用nslookup工具解析出来了地址,则说明DNS系统解析正常。如果解析异常,则说明DNS解析异常。
04 dig
dig (domain information groper) 域信息搜索器用来探测DNS解析的情况。执行dig命令,显示从接受请求的域名服务器返回的答复。
dig只能在Linux平台中使用,范例如下:
如果使用dig工具解析出来了地址,则说明DNS系统解析正常。如果解析异常,则说明DNS解析异常。
05 HTTP
HTTP(HyperText Transfer Protocol ,超文本传输协议)是互联网上应用最为广泛的一种**协议。所有的WWW文件都必须遵守这个标准。设计HTTP最初的目的是为了提供一种发布和接收HTML页面的方法。
HTTP属于TCP/IP模型中的应用层协议,应用层协议需要下层协议为其提供服务。因此HTTP需要在TCP协议建立的状态化数据通道基础上进行数据的传输。
在HTTP 1.0版本中, 每条TCP连接只能对应一次HTTP数据请求,每次HTTP数据请求结束后,随即断掉当前的TCP连接。
在HTTP 1.1版本中,多次HTTP数据请求都可以复用同一个TCP连接,并且多次HTTP数据请求可以并行进行,不必等待按先后顺序执行。
HTTP的请求和应答处理过程图下图所示:
通过数据分析来展示HTTP的一次完成请求和应答过程。
下图展示了GET请求和应答的数据帧。
下图展示了数据帧中的请求和应答数据。
可以以看到HTTP的请求方法给GET。但是为适应不同的应用场景,HTTP协议中定义了多种HTTP请求方法。
看到HTTP的请求方法给GET。但是为适应不同的应用场景,HTTP协议中定义了多种HTTP请求方法。
06 curl
curl 是常用的命令行工具,用来请求 Web 服务器,功能非常强大。
它的名字就是客户端(client)的 URL 工具的意思。
curl只适用于Linux平台,参数非常多,可通过curl –help查看,
常用的参数如下:
curl在Linux平台的使用如下:
07 总结
本篇文章介绍了使用UDP协议和HTTP协议的**连通性测试工具,这些工具都是我们工作和生活中最常用的**探测工具,希望对大家有帮助。
-END-
常用**连通性测试工具(上)