以为您知道家庭网络连接了什么?您可能会感到惊讶。了解如何在Linux上使用nmap进行检查,这将使您探索连接到网络的所有设备。
您可能会认为您的家庭网络非常简单,并且从更深入的了解中不会学到任何东西。您可能是对的,但有可能您会学到一些您不知道的东西。随着物联网设备,电话和平板电脑等移动设备的普及以及智能家居的革命(除了宽带路由器,笔记本电脑和台式计算机之类的“常规”网络设备之外),它可能会大开眼界。
我们将使用nmap命令。根据计算机上安装的其他软件包的不同,可能已经为您安装了nmap。
您可以使用Linux发行版的软件包管理器将其安装在其他Linux版本上。
第一个任务是发现Linux计算机的IP地址是什么。您的网络可以使用的最小IP地址和最大IP地址。这是您网络的IP地址的范围。我们将需要提供IP地址或要映射的IP地址范围,因此我们需要知道这些值是什么。
方便地,Linux提供了一个名为ip的命令,并且具有一个名为addr(地址)的选项。键入ip,空格,地址,然后按Enter。
在输出的底部,您将找到您的IP地址。它前面带有标签“ inet”。
该计算机的IP地址为“ 192.168.4.25”。 “ / 24”表示子网掩码中有三个连续的八个8的集合。 (3 x 8 = 24。)
子网掩码和IP地址用于指示IP地址的哪一部分标识网络,以及哪一部分标识设备。该子网掩码通知硬件,IP地址的前三个数字将标识网络,而IP地址的最后一部分将标识单个设备。由于8位二进制数中可以容纳的最大数字为255,因此该网络的IP地址范围为192.168.4.0到192.168.4.255。
所有这些都封装在“ / 24”中。令人高兴的是,nmap使用该表示法,因此我们有了开始使用nmap的条件。
nmap是网络映射工具。它可以通过向我们提供的网络范围内的IP地址发送各种网络消息来工作。它可以通过判断和解释其响应类型来推断出很多有关它正在探测的设备。
让我们开始使用nmap进行简单的扫描。我们将使用-sn(不扫描端口)选项。这告诉nmap暂时不要探测设备上的端口。它将进行轻量级的快速扫描。
即使这样,nmap仍需要一些时间才能运行。当然,网络上的设备越多,花费的时间就越长。它首先进行所有探测和侦察工作,然后在第一阶段完成后提出其发现。一分钟左右什么都看不见时,请不要感到惊讶。
我们将要使用的IP地址是我们之前使用ip命令获得的IP地址,但最终数字设置为零。那是该网络上的第一个可能的IPAddress。 “ / 24”告诉nmap扫描该网络的整个范围。参数“ 192.168.4.0/24”转换为“从IP地址192.168.4.0开始,一直到所有IP地址(包括192.168.4.255)正常工作”。
您可以在不使用sudo的情况下运行此扫描,但是使用sudo可以确保它可以提取尽可能多的信息。例如,如果没有sudo,此扫描将不会返回制造商信息。
使用-sn选项以及快速轻量级扫描的优点是,它为您提供了完整的实时IP地址列表。换句话说,我们具有连接到网络的设备及其IP地址的列表。在可能的情况下,nmap已确定制造商。第一次尝试还不错。
我们已经建立了已连接网络设备的列表,因此我们知道其中有多少个。有15台设备已打开并连接到网络。我们知道其中一些制造商。或者,正如我们将看到的,我们已经尽最大努力取得了nmap作为制造商的报告。
查看结果时,您很可能会看到可以识别的设备。可能有些您不喜欢。这些是我们需要进一步研究的。
这些设备中有些是我很清楚。 Raspberry Pi Foundation是不言自明的。亚马逊技术的设备将是我的Echo Dot。我拥有的唯一三星设备是激光打印机,因此可以将其缩小。列出了戴尔生产的几种设备。这些很简单,那就是PC和笔记本电脑。 Avaya设备是IP语音电话,为我提供了总部电话系统的扩展。这样一来,他们就可以更轻松地在家中缠扰我,因此我很清楚该装置。
有些设备的名称对我所有人没有任何意义。例如,Liteon技术和Elitegroup计算机系统。
我(不只)有一个以上的Raspberry PI。连接到网络的数量总是会变化的,因为它们在重新成像和重新分配用途时会不断地调换和调换值班。但是绝对可以,不止一个。
有几个标记为“未知”的设备。显然,他们需要调查。
如果我们删除了-sn选项,nmap也将尝试探测设备上的端口。端口是设备上网络连接的编号端点。考虑一个公寓楼。所有的公寓都有相同的街道地址(相当于IP地址),但是每个公寓都有自己的号码(相当于端口)。
设备中的每个程序或服务都有一个端口号。网络流量不仅传递给IP地址,而且传递给IP地址和端口。一些端口号是预先分配或保留的。它们始终用于承载特定类型的网络流量。例如,端口22保留用于SSH连接,端口80保留用于HTTP Web通信。
我们将使用nmap扫描每台设备上的端口,并告知哪些端口已打开。
这次,我们将获得每个设备的更详细的摘要。我们被告知网络上有13台活动设备。等一下;我们刚才有15台设备。
运行这些扫描时,设备的数量可能会有所不同。可能是由于移动设备到达和离开房屋,或者设备已打开和关闭。另外,请注意,当您打开已关闭电源的设备时,该设备的IP地址可能与上次使用时的IP地址不同。可能会,但可能不会。
有很多输出。让我们再做一次并将其捕获到文件中。
现在,我们可以列出较少的文件,并根据需要进行搜索。
滚动浏览nmap报告时,您正在寻找无法解释或看起来不正常的任何内容。当您查看列表时,记下您希望进一步调查的任何设备的IP地址。
根据我们之前生成的列表,192.168.4.10是Raspberry Pi。它将运行一个Linux发行版或另一个Linux发行版。那么什么是使用端口445?它被描述为“ microsoft-ds”。 Microsoft,在运行Linux的Pi上?我们一定会对此进行调查。
在先前的扫描中,192.168.4.11被标记为“未知”。它有很多开放的端口。我们需要知道那是什么。
192.168.4.18也被确定为Raspberry Pi。但是Pi和设备192.168.4.21都打开了端口8888,据描述它被“ sun-answerbook”使用。 Sun AnswerBook是多年退休(基础)文档检索系统。不用说,我没有在任何地方安装它。那需要看。
设备192.168.4.22较早被识别为Samsung打印机,此处通过“打印机”标签进行验证。引起我注意的是HTTP端口80处于打开状态。此端口保留用于网站访问。我的打印机是否包含网站?
据报道,设备192.168.4.31由一家名为Elitegroup Computer Systems的公司生产。我从未听说过它们,并且该设备有很多开放的端口,因此我们将对此进行调查。
设备打开的端口越多,如果网络犯罪分子直接暴露于Internet,则网络犯罪分子进入该设备的机会就越大。就像房子一样您拥有的门窗越多,防盗器的潜在进入点就越多。
设备192.168.4.10是具有打开的端口445的Raspberry Pi,它被描述为“ microsoft-ds”。快速的Internet搜索显示445端口通常与Samba关联。 Samba是Microsoft服务器消息块协议(SMB)的免费软件实现。 SMB是在网络上共享文件夹和文件的一种方式。
这很有道理;我将该特定的Pi用作一种小型网络附加存储设备(NAS)。它使用Samba,以便我可以从网络上的任何计算机连接到它。好的,那很容易。一倒,还有几下。
IP地址为192.168.4.11的设备的制造商未知,并且打开了许多端口。
我们可以更积极地使用nmap尝试从设备中获取更多信息。 -A(积极扫描)选项强制nmap使用操作系统检测,版本检测,脚本扫描和traceroute检测。
-T(时序模板)选项允许我们指定一个介于0到5之间的值。这将设置一种计时模式。计时模式有很好的名字:偏执狂(0),偷偷摸摸(1),礼貌(2),普通(3),好斗(4)和疯狂(5)。数字越小,nmap对带宽和其他网络用户的影响就越小。
请注意,我们没有为nmap提供IP范围。我们将nmap集中在一个IP地址上,这是有问题的设备的IP地址。
在用于研究本文的机器上,nmap花费了9分钟执行该命令。如果您需要等待一段时间才能看到任何输出,请不要感到惊讶。
不幸的是,在这种情况下,输出并没有给我们我们所希望的简单答案。
我们了解到的另一件事是,它正在运行一个Linux版本。在我的网络上,这并不奇怪,但是此版本的Linux很奇怪。它似乎已经很老了。几乎所有的物联网设备都使用Linux,因此这可能是一个线索。
在输出nmap的更下方,我们获得了设备的媒体访问控制地址(MAC地址)。这是分配给网络接口的唯一参考。
MAC地址的前三个字节称为组织唯一标识符(OUI)。这可用于识别网络接口的供应商或制造商。如果您碰巧是一个极客,他将35909个数据库汇总在一起,那就是。
我的实用程序说它属于Google。早先有人对Linux的特殊版本提出了疑问,并怀疑它可能是物联网设备,这使我的Google Home mini智能扬声器公平而直截了当地指向。
您可以使用Wireshark制造商查找页面在线进行相同的OUI查找。
确定设备ID的一种方法是执行扫描,关闭设备并再次扫描。第二组结果中现在缺少的IP地址将是您刚刚关闭的设备。
下一个谜是IP地址为192.168.4.18的Raspberry Pi的“ sun-answerbook”描述。该设备在192.168.4.21处显示了相同的“ sun-answerbook”说明。设备192.168.4.21是Linux台式计算机。
nmap从已知软件关联的列表中最大猜测端口的使用。当然,如果这些端口关联中的任何一个不再适用-也许该软件不再使用且已经终止使用-您可能会在扫描结果中误导端口说明。 Sun AnswerBook系统的历史可以追溯到1990年代初期,对那些甚至听说过它的人来说,只是遥远的记忆。
因此,如果不是某些古老的Sun Microsystems软件,那么Raspberry Pi和台式机这两个设备有什么共同点?
互联网搜索没有带来任何有用的东西。有很多热门歌曲。似乎任何不希望使用端口80的网络界面都选择端口8888作为备用。因此,下一个合理的步骤是尝试使用浏览器连接到该端口。
我使用192.168.4.18:8888作为浏览器中的地址。这是在浏览器中指定IP地址和端口的格式。使用冒号:将IP地址与端口号分开。
我总是使用命令行,因此我完全忘记了此功能。因此,Sun AnswerBook的条目清单是一条完整的红色鲱鱼,并且已经确定了端口8888后面的服务。
我要记录的下一个问题是打印机上的HTTP端口80。同样,我从nmap结果中获取了IP地址,并将其用作浏览器中的地址。我不需要提供端口;浏览器将默认使用端口80。
现在,我可以查看经过的页面数量,碳粉量以及其他有用或有趣的信息。
到目前为止,192.168.4.24上的设备未对任何nmap扫描显示任何内容。
我添加了-Pn(无ping)选项。这会使nmap假定目标设备已启动并继续进行其他扫描。这对于无法按预期做出反应并且使nmap认为它们处于脱机状态的设备很有用。
这确实检索了信息转储,但是没有任何东西可以识别设备。
据报道,它运行的是Mandriva Linux的Linux内核。 Mandriva Linux于2011年停止发行。它以OpenMandriva的新社区为后盾。
可能是另一个物联网设备吗?可能没有-我只有两个,而且两个都考虑在内。
一个房间一个房间地走动以及物理设备的数量并没有给我带来任何好处。让我们查找一下MAC地址。
我最后两个问题是关于两个我不认识的制造商名称的设备,即Liteon和Elitegroup Computer Systems。
让我们改变主意。有助于确定网络上设备标识的另一个命令是arp。 arp用于在Linux计算机中使用``地址解析协议''表。它用于将IP地址(或网络名称)转换为MAC地址。
要获取设备及其网络名称的列表(如果已为其分配了名称),只需键入arp并按Enter。
第一列中的名称是已分配给设备的机器名称(也称为主机名或网络名称)。我已经设置了其中一些(例如Nostromo,Cloudbase和Marineville),而某些则是由制造商设置的(例如Vigor.router)。
输出提供了两种将其与nmap输出进行交叉引用的方法。因为列出了设备的MAC地址,所以我们可以参考nmap的输出来进一步标识设备。
另外,由于可以在ping上使用计算机名称,并且ping显示基础IP地址,因此可以依次对每个名称使用ping,从而将计算机名称与IP地址交叉引用。
例如,让我们ping Nostromo.local并找出其IP地址是什么。请注意,计算机名称不区分大小写。
输出向我们显示其IP地址为192.168.4.15。恰好是在以Liteon为制造商的第一次nmap扫描中显示的设备。
Liteon公司生产许多计算机制造商使用的计算机组件。在这种情况下,它是华硕笔记本电脑中的Liteon Wi-Fi卡。因此,正如我们前面提到的,nmap返回的制造商名称只是最好的猜测。 nmap怎么知道Liteon Wi-Fi卡已安装在Asus笔记本电脑上?
最后。由Elitegroup Computer Systems制造的设备的MAC地址与我命名为LibreELEC.local的设备的arp列表中的地址相匹配。
这是运行LibreELEC媒体播放器的Intel NUC。因此,该NUC具有Elitegroup Computer Systems公司的主板。
我们已验证该网络上没有莫名其妙的设备。您可以使用此处描述的技术来调查您的网络。您可能出于兴趣而这样做(为了满足您的内心极客),或者使自己满意,使连接到网络的所有内容都有权在那里存在。
请记住,连接的设备具有各种形状和尺寸。我花了一些时间绕圈转,试图找到一个奇怪的设备,然后才意识到这实际上是我手腕上的智能手表。
戴夫·麦凯(Dave McKay)在打孔纸带风行时,他首先使用计算机,从那时起,他就开始编程。 在IT行业工作了30多年之后,他现在是一名专职技术记者。 在他的职业生涯中,他曾担任自由程序员,国际软件开发团队经理,IT服务项目经理,以及最近的数据保护官。 Dave是Linux的宣传者和开源倡导者。 阅读完整的传记» 上面的文章可能包含会员链接,这些链接有助于支持How-To Geek。 当您希望专家解释技术时,How-To Geek就是您的选择。 自2006年推出以来,我们的文章已被阅读超过10亿次。 想知道更多?