PowerShell 处理交换机端口信息

简介:

今天豆子需要给几个思科的交换机列个清单,比如看看某VLAN上到底连接了哪些端口,还需要知道这些端口连接设备的IP,Mac和DNS信息。


这个本事不是什么复杂的事情,比如我可以用show vlan X 显示对应的端口; 用show ip arp vlan X 通过arp来判断Mac地址和IP地址,通过 show mac-address 来判断和Mac地址绑定的端口等等,不过这样子的操作很麻烦,每个地址我都得来回切换比较看看,有没有稍微简便一点的方法呢?


豆子不是专业的网工,所以我的有限知识里面好像没有比较省事的命令可以直接出结果,于是第一个反应就是看看powershell能不能稍微简化一下我的手动操作吧。下面是我的操作过程


首先,我需要一个完整的arp表,很简单了,交换机上直接ping 广播地址好了。

1
ping  10.2.1.255


然后我需要保存这个arp列表

1
sh ip arp vlan 10

复制粘贴另存为t1.csv表格


然后我需要一个Mac地址和端口对应的表

1
sh mac address-table vlan 10

复制粘贴另存为t2.csv表格


接下来就是很简单的PowerShell脚本了

1
2
3
4
5
6
7
8
9
10
11
#ping 10.2.1.255
#sh ip arp vlan                ....> t1
#sh mac address-table vlan 10  ....> t2
$t1 = import-csv  C:\temp\t1.csv -head Protocol, IP, Age, Mac, Type, Interface
$t2 =gc C:\temp\t2.csv
$obj = $t1 foreach {
$info = $t2  select-string  -Pattern  $_ .mac
$test = $info  ConvertFrom-String  -PropertyNames mark,vlan,mac, type, connecte, speed, port
[pscustomobject] @{IP= $_ .IP;mac= $test .mac;port= $test .port}
}
$obj  where-object { $_ .port  -notlike  "po*" }| select IP, Mac, @{n= 'DNS' ;e={ [System.Net.Dns] ::gethostentry( $_ .IP).hostname}}, Port | tee -Variable result


结果如下

wKiom1eXC6DRVacWAACziZTG81M890.png

这样子我就成功地获取我需要的信息。






本文转自 beanxyz 51CTO博客,原文链接:http://blog.51cto.com/beanxyz/1830133,如需转载请自行联系原作者

目录
相关文章
|
2月前
|
运维 资源调度 监控
|
2月前
|
运维 监控 安全
|
15天前
|
安全 Linux 网络安全
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息
nmap 是一款强大的开源网络扫描工具,能检测目标的开放端口、服务类型和操作系统等信息。本文分三部分介绍 nmap:基本原理、使用方法及技巧、实际应用及案例分析。通过学习 nmap,您可以更好地了解网络拓扑和安全状况,提升网络安全管理和渗透测试能力。
70 5
|
2月前
|
监控 安全 网络虚拟化
|
2月前
|
安全 网络安全 数据安全/隐私保护
Cisco-交换机配置聚合端口
Cisco-交换机配置聚合端口
|
4月前
|
存储 监控 安全
端口安全:交换机上的网络守护者
【8月更文挑战第27天】
79 1
|
4月前
|
监控 网络协议 Linux
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
在Linux中,如何实时抓取并显示当前系统中tcp 80 端口的网络数据信息?
|
4月前
|
数据安全/隐私保护 异构计算 Windows
【Azure 环境】 介绍两种常规的方法来监视Window系统的CPU高时的进程信息: Performance Monitor 和 Powershell Get-Counter
【Azure 环境】 介绍两种常规的方法来监视Window系统的CPU高时的进程信息: Performance Monitor 和 Powershell Get-Counter
|
4月前
|
网络虚拟化
主流品牌的交换机都是如何给端口划分VLAN的?
主流品牌的交换机都是如何给端口划分VLAN的?
|
5月前
|
安全 网络协议 关系型数据库
【信息收集】 端口信息收集
网络通信依赖端口来区分不同的服务。这些逻辑端口范围从0到65535,其中0-1023为知名端口,常用于特定服务如FTP(20和21)、HTTP(80)、SSH(22)等;1024-49151为注册端口,49152-65535为动态或私有端口。端口分为TCP和UDP,分别对应面向连接和无连接的协议。开放端口可能带来安全风险,如弱口令、漏洞利用等,需注意防护。NMAP工具可用于端口扫描,识别网络上开放的服务。
66 5