我正在开发我们学校实验室的清单和审计。它需要跟踪每个实验室是否有PC传输。每个实验室都有自己的网络。所以如果仅仅通过IP地址就不可能知道传输。是否可以从PC连接的交换机端口获取数据?从电脑连接的交换机的端口获取数据
回答
是的,如果你的交换机支持SNMP。您可以通过网络接口卡的MAC地址跟踪PC(只要不改变)。有几个OID可能对获取这些信息很有意思。其中第一个是:
1.3.6.1.2.1.17.4.3.1.1
(dot1dTpFdbAddress):
甲单播MAC地址的量,桥已转发和/或过滤信息。
如果您的网络是非常简单的就像一个开关,用于实验室,没有的VLAN等,你可以走在第一个OID和从交换机获得MAC地址,你的电脑数据库相互参照和检查你需要检查的任何东西。
如果您确实有VLAN或者有多个实验室连接到单个交换机,您需要更深入地查找PC所连接的端口。
1.3.6.1.2.1.17.4.3.1.2
(dot1dTpFdbPort):
无论是值“0”,或在其上已经看到具有源地址等于dot1dTpFdbAddress的相应实例的值的帧的端口的端口号。
1.3.6.1.2.1.17.1.4.1.2
(dot1dBasePortIfIndex):
所述的ifIndex对象的实例,在MIB-II中所定义,对于对应于该端口的接口的值。
1.3.6.1.2.1.31.1.1.1.1
(IFNAME):
界面的文本名称。该对象的值应该是本地设备分配的接口名称,并且应该适用于在设备“控制台”输入的命令。
下面是手动完成此操作的示例(在某些Linksys交换机上),但您可以轻松编写脚本来完成此操作,并返回它们在其上学习的MAC地址和端口的列表。
# snmpwalk -v2c -c "your_community" switch.example.com 1.3.6.1.2.1.17.4.3.1.1
SNMPv2-SMI::mib-2.17.4.3.1.1.64.85.57.242.44.224 = Hex-STRING: 40 55 39 F2 2C E0
步行槽此OID将列出交换机已学习的所有MAC地址。在我的例子中,为了简单起见,只有一个MAC地址(40:55:39:f2:2c:e0)。接下来,你要找到桥端口的数量MAC地址:
# snmpget -v2c -c "your_community" switch.example.com 1.3.6.1.2.1.17.4.3.1.2.64.85.57.242.44.224
SNMPv2-SMI::mib-2.17.4.3.1.2.64.85.57.242.44.224 = INTEGER: 6
您在OID看到的是MAC地址的点分十进制表示的其他号码。在此之后,您将从网桥端口号和端口名称(端口名称)中获取接口索引。
# snmpget -v2c -c "your_community" switch.example.com 1.3.6.1.2.1.17.1.4.1.2.6
SNMPv2-SMI::mib-2.17.1.4.1.2.6 = INTEGER: 6
# snmpget -v2c -c "your_community" switch.example.com 1.3.6.1.2.1.31.1.1.1.1.6
IF-MIB::ifName.6 = STRING: Port6
而且您发现具有40:55:39:f2:2c:e0 MAC地址的主机连接到Port6。如果你正在处理一些更高质量的设备(如思科),你应该知道他们可以为每个VLAN保留单独的实例,并使用一种称为SNMP社区字符串索引的方法,将Vlan索引添加到你的社区字符串中(对于Vlan 123 ):
# snmpwalk -v2c -c "your_community"@123 switch.example.com 1.3.6.1.2.1.17.4.3.1.1
- 1. SNMP获取连接到交换机端口的mac地址
- 2. 获取确定端口的连接数
- 3. 电脑/手机连接
- 4. 连接电脑到手机
- 5. 确定您连接的交换机端口的mac地址
- 6. 从电脑到手机获取通知
- 7. 打开钱箱连接到电脑的rj11端口
- 8. Rhomobile与台式机/笔记本电脑的直接数据交换
- 9. 从Python的SNMP端口获取数据
- 10. 获取传入TCP连接的端口
- 11. 通过Wifi在电脑和Android手机之间交换数据
- 12. VB.NET掌上电脑数据库连接
- 13. 如何从偶尔连接的设备(笔记本电脑)获取数据到后端SQL Server
- 14. 非法连接的端口值“MySQL的”无法通过获取从数据库
- 15. 通过javascript或jquery获取客户端电脑的主机名
- 16. 连接到的OpenERP从别人电脑
- 17. Android平板电脑到串行端口设备连接
- 18. 将手机连接到电脑
- 19. 连接手机到电脑使Eclipse杭
- 20. C - 如何获取连接到我的电脑的所有IP
- 21. 多端口交换机的ASIC验证
- 22. .NET从具有www接口的打印机获取数据
- 23. 从特定端口获取数据
- 24. 从Delphi TISAPIApplication获取端口/ URL数据:
- 25. Java:如何从InetAddress获取连接的端口?
- 26. Javascript Vert.x EventBus客户端SockJS获取连接的主机和端口
- 27. 如何通过传入连接将手机与电脑连接?
- 28. 如何从我的电脑获取相机设备列表C#
- 29. 在线Web服务,从我的电脑中的数据库中获取数据
- 30. 如何获取python中新接受的连接的端口号?