我正在开发我们学校实验室的清单和审计。它需要跟踪每个实验室是否有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. 电脑/手机连接
- 2. 连接电脑到手机
- 3. 获取确定端口的连接数
- 4. 从电脑到手机获取通知
- 5. 获取传入TCP连接的端口
- 6. 通过Wifi在电脑和Android手机之间交换数据
- 7. VB.NET掌上电脑数据库连接
- 8. 通过javascript或jquery获取客户端电脑的主机名
- 9. 连接到的OpenERP从别人电脑
- 10. 将手机连接到电脑
- 11. 连接手机到电脑使Eclipse杭
- 12. 多端口交换机的ASIC验证
- 13. 从Delphi TISAPIApplication获取端口/ URL数据:
- 14. 从特定端口获取数据
- 15. Java:如何从InetAddress获取连接的端口?
- 16. Javascript Vert.x EventBus客户端SockJS获取连接的主机和端口
- 17. 如何通过传入连接将手机与电脑连接?
- 18. 如何从串口设备获取原始数据到Android平板电脑
- 19. 如何获取python中新接受的连接的端口号?
- 20. 无法从其他电脑连接到本地主机
- 21. 确定我的笔记本电脑连接的WiFi终端
- 22. 从电脑中读取Android相机
- 23. Java - 连接到另一台电脑上的数据库
- 24. 网站/ web服务从电脑获取数据
- 25. Android平板电脑连接到SMB和获取文件
- 26. 从MathLink连接获取数据
- 27. 瘦客户端与电脑的RDP专用连接
- 28. 控制电机与Arduino串行连接使用电脑
- 29. 连接智能手机到电脑,如果手机被锁定
- 30. ESX Server VmWare - 禁用虚拟端口连接到虚拟交换机