Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 找出连接到网络的设备类型_C#_.net_Networking - Fatal编程技术网

C# 找出连接到网络的设备类型

C# 找出连接到网络的设备类型,c#,.net,networking,C#,.net,Networking,我有各种联网设备:扫描仪、打印机、IP扬声器、IP LED电视 我想使用C#从IP地址列表中确定每个设备的类型,例如 192.168.1.1是打印机 192.168.1.2是否为LED电视 等 您可以尝试几种方法。 每个设备都有一个MAC地址。 当一家公司想要开发网络连接硬件时,他们需要申请一系列可以使用的MAC地址。 这是可用的信息。我不确定是否有免费的官方数据库,但应该有非官方的。 这将至少为您提供有关NIC制造商的信息。我不知道你是否能得到更详细的信息 如果设备正在运行SNMP,并且您知

我有各种联网设备:扫描仪、打印机、IP扬声器、IP LED电视

我想使用C#从IP地址列表中确定每个设备的类型,例如

  • 192.168.1.1是打印机
  • 192.168.1.2是否为LED电视

    • 您可以尝试几种方法。 每个设备都有一个MAC地址。 当一家公司想要开发网络连接硬件时,他们需要申请一系列可以使用的MAC地址。 这是可用的信息。我不确定是否有免费的官方数据库,但应该有非官方的。 这将至少为您提供有关NIC制造商的信息。我不知道你是否能得到更详细的信息

      如果设备正在运行SNMP,并且您知道SNMP社区(密码),则可以通过这种方式获取。 默认的SNMP社区通常是“公共的”


      即使SNMP并非在所有设备上都处于活动状态,您也可以在网络设备(如路由器)上激活它,以获取将IP地址与MAC地址关联的arp表

      关于@aliex提到的SNMP查找,下面是一个使用询问真实(可在internet上公开获得)主机的示例。我想,你也可以用C#技术做同样的事情

      snmpget -v 2c -c public     demo.snmplabs.com  SNMPv2-MIB::sysDescr.0
      
      SunOS zeus.snmplabs.com 4.1.3_U1 1 sun4m 
      
      对于Linux主机,您可以得到如下结果:

      Linux Foobar 2.6.32-358.2.1.el6.x86_64 #1 SMP Wed Mar 13 00:26:49 UTC 2013 x86_64
      
      对于CISCO交换机,例如:

      Cisco IOS Software, C3750 Software (C3750-IPSERVICESK9-M), Version 12.2(53)SE2, RELEASE SOFTWARE (fc3)
      Technical Support: http://www.cisco.com/techsupport
      Copyright (c) 1986-2010 by Cisco Systems, Inc.
      Compiled Wed 21-Apr-10 04:49 by prod_rel_team
      

      可能是通用即插即用(UPnP)?是否要将其作为一次性扫描?或者您想要随时可以运行的可执行文件?随时可以运行的可执行文件。。。