成哥总结:常用网络连通性测试工具(下)

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协议的网络连通性测试工具,这些工具都是我们工作和生活中最常用的网络探测工具,希望对大家有帮助。

(0)

相关推荐