文档章节

Linux为什么卡住了?

linuxprobe16
 linuxprobe16
发布于 2016/11/20 10:09
字数 909
阅读 15
收藏 0

钉钉、微博极速扩容黑科技,点击观看阿里云弹性计算年度发布会!>>>

导读 通过SSH登录Linux服务器时,输完用户名就卡住了,要等待10秒钟才提示密码输入。这究竟是什么原因导致的呢?

10秒钟的时间并不算长,吃个薯片喝口咖啡就过去了。但是作为强迫症患者,我还是容不得它的存在,因此便决定写篇文章,向大家演示一下怎样用Wireshark一步步解决这个问题。

Linux为什么卡住了?Linux为什么卡住了?

首先是抓包,步骤如下

  1. 在Linux服务器上启动抓包。
  2. 从笔记本SSH到Linux服务器,输入用户名并回车。
  3. 等待10秒左右,直到登录界面提示输入密码。
  4. 停止抓包。

这样就可以得到一个涵盖该现象的网络包了。一般在实验室中没有干扰流量,不用过滤也可以分析,不过我们最好在做实验时就养成过滤的习惯,以适应生产环境中抓到的包。因为我们是通过SSH协议登录的,所以可以直接用“ssh”来过滤,如图所示。SSH包都是加密了的,因此我们看不出每个包代表了什么意思,不过这并不影响分析。从图2中可以看到,21号包和25号包之间恰好就相隔10秒。

Linux为什么卡住了?Linux为什么卡住了?

这两个包之间所发生的事件,可能就是导致这个现象的原因。于是我再用“frame.number> 21 && frame.number< 25”过滤,结果如图所示。

Linux为什么卡住了?Linux为什么卡住了?

分析

从图中可以看到,Linux服务器当时正忙着向DNS服务器查询10.32.200.23的PTR记录(即反向解析),试图获得这个IP地址所对应的域名。该IP属于我们测试所用的笔记本,但由于DNS服务器上没有它的PTR记录,所以两次查询都等了5秒钟还没结果,总共浪费了10秒钟。

我们由此可以推出,这台Linux服务器在收到SSH访问请求时,会先查询该客户端IP所对应的PTR记录。假如经过5秒钟还没有收到回复,就再发一次查询。如果第二次查询还是等了5秒还没回复,就彻底放弃查询。我们甚至可以进一步猜测,如果DNS查询能成功,就不用白等那10秒钟了。

为了验证这个猜测,我在DNS服务器中添加了10.32.200.23的PTR记录,如图所示,然后再次登录。

Linux为什么卡住了?Linux为什么卡住了?

这一次果然立即登录进去了。从图的Wireshark截屏可见,DNS查询是成功的,所以21号包和26号包之间几乎是没有时间停顿的。

Linux为什么卡住了?Linux为什么卡住了?

结果

明白了DNS查询就是问题的起因,接下来就知道怎么进一步研究了。只要在Google搜索“ssh dns”,第一页出来的链接都是关于这个问题的。随便挑几篇阅读一下,就连我这样的Linux初学者都能把这个问题研究透了。原来这个行为是定义在“/etc/ssh/sshd_config”文件中的,默认配置是这样的:

[root@Linux_Server ~]# cat /etc/ssh/sshd_config |grep -i usedns
#UseDNS yes

改成下面这样就可以解决了,不用去动DNS服务器上的配置:

[root@Linux_Server~]# cat /etc/ssh/sshd_config |grep -i usedns
UseDNS no

免费提供最新Linux技术教程书籍,为开源技术爱好者努力做得更多更好:http://www.linuxprobe.com/

上一篇: NodeOS操作系统
linuxprobe16
粉丝 15
博文 913
码字总数 246494
作品 0
河东
私信 提问
加载中
请先登录后再评论。
Ubuntu的ls命令卡住

文章转载自:Ubuntu的ls命令卡住 昨天让某人自行探索设置PATH环境变量,今天告诉我账号异常,具体表现是bitwise登录后sftp栏无法显示文件。做一些不懂原理的操作,接着出现自己无法解决的奇怪...

tlanyan
2019/10/13
38
0
mac安装linux双系统的吐槽

##[First day]尝试安装mac - linux 双系统首先,尝试的是ubuntu16.06版本,要把双系统安装至电脑硬盘512G SSD中, 分盘1.1 打开实用工具中的磁盘管理工具1.2 分区 command+R 进入安全模式 ,...

osc_13mpeqmt
2019/04/21
2
0
一次linux中定位c++程序运行异常的经历

本文分享自微信公众号 - 编程三分钟(coding3min)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

编程三分钟
05/25
0
0
写好的hbase录入java程序,打包后在linux上运行会卡住

写好的hbase录入java程序,打包后在linux上运行会卡住,每次都在table.put时卡死,window下正常运行,只有在linux是出现问题

Death黎明
2018/06/12
287
1
如何配置一个java程序包的build.properties文件

大家好,小弟我刚接触Linux,使用的是Ubuntu 14.04 64bit 。我现在下载了一个java的程序包,但是在初始化配置环节却卡住了,它的readme文件如下:, 我在build环节卡住了,它的意思好像是说要...

安非他命
2016/07/18
993
2

没有更多内容

加载失败,请刷新页面

加载更多

Python骚操作 | 川普的嘴,骗人的鬼!

↑ 关注 + 星标 ,后台回复【 大礼包 】送你Python自学大礼包 阅读文本大概需要 3 分钟 前几天,川普又在推特因为宣扬暴力翻车了,不过,对于这位翻车王来说,已经是常规操作了。在推特上指点...

Python绿色通道
06/19
0
0
(五)改掉这些坏习惯,还怕写不出精简的代码?

鲁迅说:嬉笑怒骂里充满了无奈和妥协。 小猿说:先生说的不对,在程序员的世界里,编写代码处处充满了无奈和妥协。 Code Review 是一场苦涩但有意思的修行。 (一)改掉这些坏习惯,还怕写不...

一猿小讲
06/15
0
0
Linus:我们都老了,但Linux维护后继无人

点击上方“五分钟学算法”,选择“星标”公众号 重磅干货,第一时间送达 来自:大数据文摘(ID:BigDataDigest)出品 来源:theregister 编译:笪洁 本周在线举行的开源峰会和嵌入式Linux会议...

五分钟学算法
07/08
0
0
腾讯应用宝:首次上传演示视频需要去腾讯视频进行实名认证的操作

前段时间打算把刚开发好的Android应用上架到腾讯的应用宝商店,但是由于业务的需要,需要上传App的操作演示视频,由于是首次在应用宝上面上架App,需要处理的东西太多,这里就不再一一介绍,...

sanzhanggui
2019/12/14
0
0
祝大家端午节快乐!

端午节快乐 本文分享自微信公众号 - 嘉为科技(canway_service)。 如有侵权,请联系 support@oschina.cn 删除。 本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。...

嘉为科技
06/24
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部