扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
公司的UTP接入点远远多于接入层交换机的端口,而员工基于某种原因经常调整位置,而这就让我们不得不经常在交换机上换端口来满足他们的需求,而基于公司的policy未使用的端口必须关闭。
这使得我必须清晰得了解各个端口的使用情况,我该如何做呢?
首先,我想要是可以在交换机上看到各个端口所连接主机的IP就好了,不过大家知道,交换机是没这功能的,但是可以看到对端口对应的MAC地址,不过要是在该端口活动的情况下。单纯的用show mac add虽然也可以看到结果,但是也会有许多不必要的信息,这里可以用管道命令(这个我找了好久才找到的!!)
show mac add | include Fa include是命令的关键次,而Fa是你要在结果中筛选的关键词,它是要区分大小写的,字符嘛。
这就可以显示出端口与MAC的关系。
而如何找到MAC与IP,主机名之间的关系呢?
首先想到的就是ARP协议,但是如何使用呢?我使用批处理搞定的。
原理是先用ping 命令ping 目的IP,让其在本机的缓存中有arp的记录,然后在用ARP命令显示出IP 与MAC的对应关系。(在用ARP之前若本机与目的主机之间无通信,将不会有该记录。)
将输出结果重定向到文本中,但是有个问题,bat中如何实现循环呢?(这里想到了C语言中的for 和变量,这个知识点给了我思路。)这就用来set 和 goto 语句。
cd \ set a=1 :begin ping *.*.*.%A% arp -a *.*.*.%A% |findstr "dynamic ARP" >> mac-ip.log set a=%a%+1 goto begin
这段命令只能找出同一网段的主机的MAC,若有多个网段,你知道该如何办了吧。
别看这一小段代码,我研究了好久呢,之前对DOS很是不屑一顾,现在发现脚本是个好东西的时候又离不开它了,(不过我发现很多东西都是相通的,C语言真是个好东西,我是一直是它的忠实粉丝,因为它给了我很多计算机方面的思想,在我看来是网络管理员的三宝之一啊)。
以上这种方法基本是不会用到的,除非在没有DHCP的情况下。可是我们有啊,在几天之后我想到了这个问题,DHCP直接就列出了IP与MAC的对应,而且可以导出列表,我当时那个郁闷啊!
主机名与IP 的对应我就捡便宜了,SEPM(Symantec Endpoint Protection Manager)上直接有.
获得了这些信息之后,就可把它们联系起来了,我是在excel中搞定这事的(不怕你笑话,这个我又搞了好久,都被同事鄙视了),主要用了text to columns(这个对知道的人来说不值一提)和VLOOKUP 函数。终于把二者联系起来了。
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者