快速寻找某IP地址所在的网络交换机端口 – Netdisco推荐

这个占用了大量带宽的IP到底在哪?谁在用?我真想直接封了它!

不管是公司内部网络之间的WAN连接,还是共享NAT/Proxy上网,带宽被占满是最烦人的一件事情。轻则上不去网,重则影响公司业务,而所有这些最终都会指向公司网管。虽然可以通过cisco上的ip accounting / netflow,Linux上的iftop/bandwidthd或者抓包等找到那个可恶的IP,可这IP到底在哪???谁在用???甚至当你花费半天力气找到始作俑者时,往往面对一张装作无知的脸孔:我什么都没干啊。艹。。。

现在有办法快速找到这个可恶的家伙,而且,需要他乖乖的跑到你这里来问:我怎么上不了网了?你可以骄傲的问:哼哼,你干坏事了吧。。。我们所需要做的,就是安装Netdisco

如上图,Netdisco可以清晰的显示IP地址 – MAC地址 – 机器名 – 工作组 – 用户名 之间的对应关系,包括连到公司网络的时间等。注:Netdisco适应绝大多数网络环境,而且客户端越多越能凸显出Netdisco的便利性。硬件环境:1台3层网络交换机(只有2层的也可以,步骤相同,但客户机设置上有个不入流的小技巧),我用的是Cisco设备1台Linux主机,我用的是Fedora 14Cisco上配置管理IP地址、开启SNMPconf tinterface Vlan1ip address ip_addr netmaskno shutconf tsnmp-server community community名称 RO (或者RW)Linux上安装Netdiscoyum install netdiscoNetdisco的配置/usr/sbin/netdisco_config – 这是1个自动配置脚本这行时间比较长,特别是Populating the OUI database for netdisco这步会有些提问,输入密码等提示give admin port control? 输入y提示give admin admin rights?输入y提示Full user name?输入y如果上面没有输入,最后访问http://linux_ip_address/netdisco时会没有administration panel,解决办法是/usr/share/netdisco/netdisco -u提示输入核心设备IP地址;提示输入snmp community字符串(网内全部网络设备设备最好使用相同的snmp community,简单;当然也可直接编辑配置文件添加不同的snmp community),电脑等在NetDisco里算作node安装完成后运行netdisco -r 核心交换机ip (注:这步好像配置脚本会自动做,记不清楚了)对大型网络,可能要1~几个小时才能完成。最后会报告哪些不成功,一般是由于SNMP community名称不同或者没配置SNMP。对于不同community的,可以运行vi /etc/netdisco.conf,在community一行加入这些community名称,然后运行命令netdisco -d 设备ip 即可。最后,访问http://ip_addr/netdisco,输入前面自己定义的用户名和密码就可以了。(Netdisco号称可以直接关闭交换机端口,不过还是建议大家登录到交换机上去关闭。)现在,当你发现某个IP在干坏事的时候,直接上交换机关了这个端口就可以了,千万注意别错关了老板的;-)1,如果出现这个错误:Starting netdisco admin daemon:Can’t locate netdisco.pm in @INC (@INC contains: /usr/sbin /usr/local/lib/perl5 /usr/local/share/perl5 /usr/lib/perl5 /usr/share/perl5 /usr/local/lib/perl5/site_perl/5.10.0/i386-linux-thread-multi /usr/local/lib/perl5/site_perl/5.10.0 /usr/lib/perl5/vendor_perl/5.10.0/i386-linux-thread-multi /usr/lib/perl5/vendor_perl /usr/lib/perl5/site_perl .) at /usr/sbin/netdisco line 27.BEGIN failed–compilation aborted at /usr/sbin/netdisco line 27.解决办法:copy 1份netdisco.pm到/usr/local/lib/perl5或者/usr/local/share/perl5目录用netdisco_config script 的时候,提示输入netdisco database密码的时候输入 netdisco 或者root的密码;脚本运行后在手动重启httpd 1次。2,前面说到如果没有3层交换机只有2层交换机怎么办?其实也能办,就是在客户端设置DNS的时候,把第1个DNS设置为2层交换机的IP地址。这个办法真不太入流,但是也真奏效。3,Netdisco用的是pgsql数据库,如果对数据库熟悉,可以抓取其中的数据并实现更多的功能,比如,实现802.1x的接入控制等。 List of relationsSchema | Name | Type | Owner——–+————————+———-+———-public | admin | table | netdiscopublic | admin_job_seq | sequence | netdiscopublic | device | table | netdiscopublic | device_ip | table | netdiscopublic | device_module | table | netdiscopublic | device_port | table | netdiscopublic | device_port_log | table | netdiscopublic | device_port_log_id_seq | sequence | netdiscopublic | device_port_power | table | netdiscopublic | device_port_ssid | table | netdiscopublic | device_port_vlan | table | netdiscopublic | device_port_wireless | table | netdiscopublic | device_power | table | netdiscopublic | device_vlan | table | netdiscopublic | log | table | netdiscopublic | log_id_seq | sequence | netdiscopublic | node | table | netdiscopublic | node_ip | table | netdiscopublic | node_monitor | table | netdiscopublic | node_nbt | table | netdiscopublic | node_wireless | table | netdiscopublic | oui | table | netdiscopublic | process | table | netdiscopublic | sessions | table | netdiscopublic | subnets | table | netdiscopublic | user_log | table | netdiscopublic | user_log_entry_seq | sequence | netdiscopublic | users | table | netdisco(28 rows)netdisco= select * from device_ip;等等等等。。。累死累活不说,走马观花反而少了真实体验,

快速寻找某IP地址所在的网络交换机端口 –  Netdisco推荐

相关文章:

你感兴趣的文章:

标签云: