在网络上找到主机


11

在VLAN上定位特定工作站的最佳方法是什么?

如果工作站IP地址显示在ACL上,则有时需要执行此操作拒绝

  1. 激流使用
  2. 高带宽使用率(热门发言人)
  3. 鼻息警报

    我现在的方式

    • 登录到同一VLAN中的核心交换机
    • ping IP地址,
    • 从ARP表中检索MAC
    • Mac地址查找,以了解是从哪个开关中学到的
    • 登录到该开关冲洗并重复直到找到工作站

有时,这可能需要登录约7台交换机,该网络存在一些特定的挑战,目前我无能为力。巨大的VLAN(/ 16),每个VLAN上有数百个用户

在所有思科商店中,使用思科交换机的预算最少,必须有一种更有效的方法来跟踪主机?

编辑:添加更多详细信息

具体来说,我正在寻找用户连接到的交换机端口?还有一些历史将是伟大的..因为我的方法只能在用户仍处于连接状态时起作用,而当我在早晨查看日志时却没有任何价值,但是设备不再处于连接状态。

没有像访客网络那样的中央DNS或Active Directory,其中仅提供Internet访问。我尝试提供一些管理和一些安全性。

我已经尝试过“ show ip dhcp binding | inc”,它给了我一个奇怪的MAC(带有2个额外的字符),它不是关联的设备MAC,我还没有研究过,但是ARP是准确的,我更担心找到有问题的机器所连接的交换机端口。

希望这可以提供一些澄清


2
关于“ show ip dhcp binding | inc”:前面的多余字符是媒体类型。如果删除前两个字符,则将剩下客户端MAC。两位数字表示在表2中:freesoft.org/CIE/RFC/1700/24.htm
some_guy_long_gone 2013年

@legioxi,这假定设备已使用MAC标识了自身。如果使用字符串,则可能是服务器显示的内容。
Ricky Beam

Answers:


13

看一看Layer2 traceroute(用于cisco)。.cdp应该正在运行...

Router# traceroute mac 0000.0201.0601 0000.0201.0201
Source 0000.0201.0601 found on con6[WS-C2950G-24-EI] (2.2.6.6)
con6 (2.2.6.6) :Fa0/1 => Fa0/3
con5                 (2.2.5.5        )  :    Fa0/3 => Gi0/1
con1                 (2.2.1.1        )  :    Gi0/1 => Gi0/2
con2                 (2.2.2.2        )  :    Gi0/2 => Fa0/1
Destination 0000.0201.0201 found on con2[WS-C3550-24] (2.2.2.2)
Layer 2 trace completed
Router# 
Router# traceroute mac 0001.0000.0204 0001.0000.0304 detail 
Source 0001.0000.0204 found on VAYU[WS-C6509] (2.1.1.10)
1 VAYU / WS-C6509 / 2.1.1.10 :
                Gi6/1 [full, 1000M] => Po100 [auto, auto]
2 PANI / WS-C6509 / 2.1.1.12 :
                Po100 [auto, auto] => Po110 [auto, auto]
3 BUMI / WS-C6509 / 2.1.1.13 :
                Po110 [auto, auto] => Po120 [auto, auto]
4 AGNI / WS-C6509 / 2.1.1.11 :
                Po120 [auto, auto] => Gi8/12 [full, 1000M] Destination 0001.0000.0304 
found on AGNI[WS-C6509] (2.1.1.11) Layer 2 trace completed.
Router# 

太神奇了,我现在在玩它。正是我在寻找什么
hyussuf 2013年

9

我们使用Cacti上的mactrack插件来执行此类操作。效果很好,历史数据也可用。

只要可以通过SNMP使用ARP和MAC地址表,它就可以工作。我们唯一的小问题是站点的第3层实例是ASA。由于mactrack支持,因此我们只是通过脚本拉出ARP表并生成arpwatch文件来解决此问题。

我们设置中的示例屏幕截图: 在此处输入图片说明

Imgurl链接:http ://i.imgur.com/h9JQVkC.png


真好!在imgur之类的东西上放个更大的图片可能会更好。我看不到太多。:-)
John Jensen

@JohnJensen是的,那只是stackexchange缩小图片,它以完整尺寸上传。尝试在另一个标签中打开图片,例如“右键单击-在Chrome的新标签中打开图片”。无论如何都会将一个链接添加到答案。
Stefan Radovanovici

7

有两种方法可以廉价地做到这一点(研究和/或实施工作将由您自己决定)。

  1. 有一个脚本可登录到每个边缘设备,并从中获取MAC地址表。您可能要为此排除中继接口,但是创建一个哈希(或对您来说是python的字典的人)是很简单的,其中的键是边缘开关,值是另一个哈希,基本上是“ mac.addr->接口”。这将消除您在边缘交换机上追逐MAC的需要,这似乎是最繁琐的工作。我可以建议使用Perl Net::Appliance::Session或Python exscript来实现(假设您可以访问* NIX框)。

  2. 使用SNMP查询此数据,将不需要脚本来实际登录到交换机并运行命令。您可以自己查找MAC地址表的MIB,但这是Google搜索,可以帮助您入门

  3. 如果仅在Windows上,则可以使用SecureCRT或TeraTerm来设置宏,以便为您“半自动”执行此操作,但是我对这两种方法的经验都非常有限,因此YMMV。

希望能给您一些想法。


6

我喜欢有一个脚本,每15分钟抓取一次show arpshow cam dyn输出,然后加上时间戳,term exec prompt timestamp因此我们可以大致了解时间。然后,我将所有开关的输出附加到一个文件中...每天每个开关一个文件。

所有这些日志都保存在同一目录中,以方便grepping。

如果您知道拓扑,查找主机将成为相当简单的grep练习...卡在没有grep的Windows中?使用cygwin ...


2

为什么不简化事情并在IP上进行nslookup,从DNS获取主机名,然后使用该主机名通过资产列表或管理数据库查找计算机?或者,如果您没有反向DNS设置,则可以登录到DHCP服务器以获取主机名。

我知道这不是Cisco / CLI方法,但是如果您的用户分配给计算机1-1,它应该可以工作。如果您的用户数为1,则可以使用Windows / Linux工具查找计算机的当前用户。


我不认为hyussuf试图找到计算机上的用户-因为这是网络工程,并且通过他提供的示例,我假设他正在尝试确定设备连接到哪个物理端口,并且该设备可能并不总是工作站。
2013年

的确,不仅如此,而且这是一个来宾网络,我们提供的唯一服务是互联网,BYOD和要求互联网访问以完成其工作的小型公司的混合物。从技术上讲,ISP是位于各种用户的远程位置。cisco路由器是我的dhcp服务器,当我查看绑定信息时,MAC是完全错误的,即使有2个额外的字符,MAC也没有考虑。
hyussuf

我的主要目标也是找到有问题的交换机端口并断开连接或“关闭” ...我很抱歉,无法弄清楚如何换新线
hyussuf 2013年

您可能希望通过发布到我的答案的两个评论中更详细地更新问题。肯定有一些好的信息可以帮助您解答。
some_guy_long_gone 2013年

2

您的操作方式与我手动执行的方式相同。

那里有软件,可以为您解决其中的手动步骤。SolarWinds Engineering Toolkit中包含的工具将可以使用,尽管很遗憾,它并不便宜。我敢肯定还有其他选择。

如果您不愿意使用中间解决方案或一些脚本工作,请查看此答案中发出的SNMP命令,以了解如何从具有CLI SNMP客户端的系统中编写脚本

编辑添加:我想您的“漂洗和重复”过程不会重新包括ping和what。一旦确定了mac地址,就应该可以执行sh mac addr |。在####中(whoops尖括号消失)


正确,只能ping一次,“ show mac add | inc ####”,多次与一些show cdp邻居混合
hyussuf 2013年

我将透露我可以使用Engineering Toolkit以及用户设备跟踪器(solarwinds.com/user-device-tracker.aspx),并且有99%的时间我最终登录到交换机并只是这样做手动。诚然,我很少需要深入7步,但这确实有效。
2013年

我的SNMP-fu不强壮,但是该链接非常有趣,并且给了我一些想法。
hyussuf

1

您在问两件事。
1.在您的网络上找到一个MAC-我建议创建一个脚本(php)并使用SNMP查询所有MAC地址表,以为您提供IP / MAC地址所在的交换机/端口。

2.监控您的使用率(激增使用率,高带宽使用率(热门用户),发声警报)-将解决方案用作ntop来监视网络上的流量。我很早以前就用过,很棒。


1

只是一个建议...如果您有某种可以在特定事件上触发的主动syslog检查,则可以编写脚本以SNMP查找每个交换机上的IP,以便大致了解事件发生的时间。

(对不起,我找不到确切的OID)

编辑:链接使用SNMP从Catalyst交换机上的MAC地址查找端口号 ”我忘记了comm @ vlan技巧。ping有很多表,以查找人类所需的所有信息。:-(


1

switchmap是另一个工具,可用于跟踪哪个mac地址位于哪个switchport之后(以及其他功能)。


1

我已经用netdisco收集了这些信息。它将允许使用主机名,IP地址,MAC地址等查询数据库,并返回交换器和交换端口。它也会做一些其他有用的事情。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.