在我们使用的一些客户端软件时,偶尔会出现一些延迟问题。这常常与使用者的网络环境有关,我们的电脑上常常会安装许多杀毒软件,诸如:360,电脑管家等。其实Windows系统自带的Windows defende足矣,多个杀软共存反而容易造成问题。
在电商平台商家使用客服机器人接待时,面对这种需要及时响应的情况,网络延迟问题往往是致命的,很大程度上影响及时回复率。这其中大部分问题,用户可以通过在杀毒软件添加白名单解决,但是当这样做不能解决问题时,就需要一个好帮手了——WireShark抓包工具。接下来通过一个实例讲述如何使用该工具定位问题。
一、如何使用抓包工具wireshark:
1.首先找到对应的网络
- 打开抓包工具找到对应的网络:
- 进行网络请求后停止捕获
- 过滤条件为ip.addr == 对应的ip地址,找到对应请求右键选择追踪流
二、分析问题:
首先,我们需要知道网络请求的域名,通过ping 命令,得到对应的ip地址。
在抓包工具中分析该网络请求:
过滤条件为:ip.addr == 39.100.179.89(请求对应域名的ip地址)
发现从与服务器建立连接到返回并没有延时,但是查看时间是10:26:28开始,而实际应该是10:26:24左右就发起请求了,所以怀疑是dns解析的延时
过滤条件为:dns or http
找到与域名对应的dns,时间上也并没有发现问题
再次观察发现有许多如下图所示的NBNS请求:
这里给出NBNS的相关详细资料:
NBNS(NetBIOS Name Service) 是 NetBIOS 协议的一部分,用于在网络中解析 NetBIOS 名称到 IP 地址。NetBIOS 名称通常是计算机或设备在网络中的名称(如 PC1
),而 IP 地址则是网络通信的基本单元。NBNS 通过 UDP 协议在端口 137 上运行,它允许设备在局域网内通过广播或向 WINS(Windows Internet Name Service)服务器请求来查找其他设备的 IP 地址。
三、为什么会出现 NBNS?
NBNS 的出现主要是因为 NetBIOS 协议在局域网内的名称解析和服务发现中仍然有其作用和应用场景:
- 局域网内名称解析:NBNS 使得计算机可以在局域网中通过名称(而不是 IP 地址)来找到和通信。这对于小型局域网或不使用 DNS 的网络环境尤其有用。
- 兼容旧版系统和应用:许多早期的 Windows 系统和网络应用程序依赖于 NetBIOS 协议。即使在现代网络中,如果有这些旧版应用或设备,NBNS 请求仍然可能被使用。
- 局域网服务发现:NetBIOS 和 NBNS 可以帮助在局域网中发现服务和设备(如文件共享、打印机共享)。这对于没有 DNS 支持的简单网络来说,提供了一种基本的服务发现机制。
- NBNS 是 NetBIOS 协议的一部分,用于局域网中的名称解析。NBNS 和 DNS 同时出现 是为了满足不同的网络需求:DNS 用于更大的网络和因特网,NBNS 用于局域网中的设备发现和名称解析。解析顺序 通常是先使用 DNS,然后在必要时使用 NBNS,以确保最大程度的兼容性和网络功能。
通过上述描述,可以知道,存在NBNS时表示计算机是通过名称而不是ip地址来找到和通信的,同时通过抓包工具分析,发现网络在这一通信过程恰好是耗时较长的。当我们定位到了问题出现在哪个过程,解决起来就方便多了。
四、如何解决
1.hosts里配置对应ip如
或者去网上找一些低延迟的DNS服务器,修改如下配置:
- 禁用NetBIOS名称解析:
在Windows操作系统中,禁用NetBIOS名称解析可以通过以下几种方法实现。这些方法包括通过网络适配器设置、组策略和注册表编辑来禁用NetBIOS over TCP/IP。
方法一:通过网络适配器设置禁用NetBIOS
这是最常用的方法,适用于单个网络适配器的配置。
- 打开控制面板:按 Win + R 打开运行对话框,输入 control 并按回车,打开控制面板。
- 进入网络和共享中心:在控制面板中,选择 网络和Internet,然后点击 网络和共享中心。
- 更改适配器设置:在左侧面板中,点击 更改适配器设置。
- 打开网络连接属性:右键点击你要配置的网络连接(例如以太网或无线网络),选择 属性。
- 打开Internet协议版本4 (TCP/IPv4) 属性:在网络连接属性窗口中,选择 Internet协议版本4 (TCP/IPv4),然后点击 属性。
- 进入高级TCP/IP设置:在 Internet协议版本4 (TCP/IPv4) 属性窗口中,点击 高级 按钮。
- 禁用NetBIOS over TCP/IP:在高级TCP/IP设置窗口中,选择 WINS 选项卡。在 NetBIOS 设置 部分,选择禁用 NetBIOS over TCP/IP。
方法二:通过组策略禁用NetBIOS
这适用于需要在多个计算机或整个域内统一配置的情况。
- 打开本地组策略编辑器:按 Win + R 打开运行对话框,输入 gpedit.msc 并按回车,打开本地组策略编辑器。
- 导航到网络设置:在本地组策略编辑器中,导航到 计算机配置 -> 管理模板 -> 网络 -> TCPIP 设置 -> NetBIOS 设置。
- 配置NetBIOS设置:双击 NetBIOS over TCP/IP 设置,将其设置为 已禁用。应用设置并关闭本地组策略编辑器。
方法三:通过注册表禁用NetBIOS
这适用于高级用户或脚本批量部署。
- 打开注册表编辑器:按 Win + R 打开运行对话框,输入 regedit 并按回车,打开注册表编辑器。
- 导航到NetBT设置:在注册表编辑器中,导航到以下路径:
<TEXT>
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Interfaces
- 查找网络适配器的条目:在 Interfaces 下,你会看到多个子键,每个子键代表一个网络适配器。你需要找到对应于你要配置的网络适配器的子键。
- 修改NetBIOS设置:在对应的网络适配器子键中,找到或创建一个名为 NetbiosOptions 的DWORD值。双击 NetbiosOptions,将其值设置为 2(表示禁用NetBIOS over TCP/IP)。
- 重启计算机:关闭注册表编辑器并重启计算机以应用更改。
五、总结
禁用NetBIOS名称解析可以通过上述三种方法实现:通过网络适配器设置、组策略和注册表编辑。根据你的需求选择最合适的方法进行配置。如果是单个计算机,可以通过网络适配器设置来禁用NetBIOS。如果需要在多个计算机或整个域内统一配置,可以使用组策略。如果需要通过脚本进行批量配置,可以使用注册表编辑。
免费试用 更多热门智能应用