操作系统 3种io通讯技术
作为系统管理员,每天我都需要快速解决问题,因为有些用户和经理希望事情能够顺利进行。 在我所管理的大型环境中,几乎不可能从头到尾地了解所有系统和产品,因此我必须使用创造性的技术来找到问题的根源,并(有希望地)提出解决方案。
这是我20多年来的日常经验,我喜欢它! 每天上班,我永远不知道会发生什么。 因此,当问题落在我的膝盖上时,我会默认使用一些快速而肮脏的技巧,但是我不知道从哪里开始。
可是等等! 在直接跳至命令行之前,请花一些时间与用户交谈。 是的,这可能很乏味,但是他们会为您提供一些有用的信息。 请记住,用户可能没有您所拥有的丰富经验,因此您需要对他们所说的内容进行一些解释。 尝试清楚了解正在发生的事情和应该发生的事情,然后用技术语言向自己描述故障。 请注意,大多数用户不会阅读他们前面的屏幕上的内容。 这是可悲但真实的。 确保您和用户正在阅读所有文本以收集尽可能多的信息。 结合在一起后,使用这五个工具跳转到命令行。远程登录
我从经典开始。 Telnet是SSH的前身,在过去,它像SSH一样,在Unix系统上用于连接到远程终端,但它并未加密。 Telnet在诊断网络连接问题时有一个非常巧妙而宝贵的技巧:您可以Telnet到未为其预留的TCP端口。 为此,请像平常一样使用Telnet,但将TCP端口添加到末尾(例如telnet localhost 80 )以连接到Web服务器。 这使您可以检查服务器,以查看服务是否正在运行或防火墙是否阻止了该服务。 因此,在没有应用程序客户端或应用程序登录的情况下,您可以检查TCP端口是否正在响应。 如果您知道如何做,有时您可以通过手动输入Telnet提示并检查响应来从服务器获得响应。 Web服务器和邮件服务器是您可以执行此操作的两个示例。
Tcpdump
使用tcpdump工具,您可以检查网络上正在传输的数据。 大多数网络协议都非常简单,如果将tcpdump与Wireshark之类的工具结合使用,您将有一种很好的,简便的方法来浏览捕获的流量。 在下面的示例中,我在底部窗口中检查数据包,并在顶部连接至TCP端口3260。
此屏幕快照显示了Wireshark在真实世界中使用iSCSI协议的情况。 在这种情况下,我能够确定QNAP网络附加存储的配置方式存在问题。
找
如果您不知道从哪里开始, find命令就是最好的工具。 您可以用它最简单的形式“查找”文件。 例如,如果我想在所有目录中进行递归搜索并获取conf文件的列表,则可以输入:
find . -name '*.conf'.
但是find的隐藏宝石之一是,您可以使用它对发现的每个项目执行命令。 例如,如果要获取每个文件的长列表,则可以输入:
find . -name '*.conf' -exec ls -las {} \;
一旦知道了该技术,就可以以各种创造性的方式使用它,以特定的方式查找,搜索和执行程序。
痕迹
在Solaris上,我被介绍了strace的概念,该概念称为truss。 今天它仍然像那些年前一样有用。 strace允许您检查进程在实时运行时在做什么。 使用起来很简单; 只需使用命令ps -ef并找到您感兴趣的进程ID。用strace -p <pid>启动strace; 这将开始打印出很多东西,起初看起来像垃圾。 但是,如果您仔细看,您将看到可以识别的文本,例如OPEN和CLOSE之类的单词以及文件名。 如果您想弄清楚程序为什么不起作用,这可以引导您朝正确的方向前进。
grep
留下最好的东西: grep 。 这个工具是如此有用和强大,以至于我很难用一种简洁的方式来描述它。 简而言之,它是一种搜索工具,但其搜索方式却使其功能如此强大。 在问题分析中,我通常会遍历一堆日志以查找某些内容。 名为zgrep的配套命令对压缩文件执行相同的操作。 在下面的示例中,我使用zgrep / var / log / * bancroft对所有日志文件进行grep操作,以查看我在系统上所做的工作。 我使用zgrep是因为目录中有压缩文件。
使用grep的另一种好方法是将其他工具的输出通过管道传递到其中。 这样,它可以用作各种过滤器。 在以下示例中,我列出了auth文件,并使用grepped登录以查看使用cat auth.log | grep bancroft所做的事情。 这也可以写为grep bancroft auth.log ,但是我使用了管道( | )来说明这一点。
需要考虑的其他工具
您可以使用这些工具做更多的事情,但是我希望这个简短的介绍为您提供一个窗口,让您了解如何使用它们来解决您遇到的麻烦问题。 另一个值得关注的工具是Nmap ,我没有包括它,因为它是如此全面,以至于需要整篇(或更多)文章来进行解释。 最后,我建议学习一些白帽子和黑客技巧; 当试图深入探究问题时,它们可能会非常有益,因为它们可以帮助您收集对决策至关重要的信息。
翻译自: https://opensource.com/article/20/1/ops-hacks-sysadmins
操作系统 3种io通讯技术