Язык скрипта: powershell
Информация:
Скрипт позволяет искать определенные маки из списка (массив $macs
), и подставлять сопоставление с найденным арпом mikrotik.
Для работы нужно:
Mactable.txt
и вставить в него список таблицы mac адресов.arptable.txt
и вставить в него арпы с микротика (ОПЦИОНАЛЬНАЯ ФУНКЦИЯ)Вывод скрипта представляет из себя отформатированный список в файле exit.txt
. Список совместим с коммутаторами D-Link и ARP/DHCP Leases таблицой Mikrotik
$data = Get-Content "Mactable.txt"
$arp = Get-Content "arptable.txt"
#$macs = $macs + @('60:63:4C','C4:E9:0A','BC:0F:9A','64:29:43','A0:A3:F0','E0:1C:FC','04:BA:D6','90:8D:78','C8:78:7D') #D-Link
#$macs = $macs + @('EC:CD:6D','00:00:F4','00:15:77','E0:1A:EA') #Telesys
#$macs = $macs + @('5C:E9:31','5C:62:8B') #TP-Link
#$macs = $macs + @('A0:3D:6F','39:64:EC') #Cisco WIFI
#$macs = $macs + @('18:FD:74','48:A9:8A','D4:01:C3','6C:3B:6B','CC:2D:E0','2C:C8:1B','E4:8D:8C','08:55:31','B8:69:F4','F4:1E:57','78:9A:18','DC-2C-6E','48:8F:5A','C4:AD:34','64:D1:54','D4:CA:6D','C4:5E:0C','74:4D:28','4C:5E:0C') #Mikrotik
Write-Output "" > exit.txt
$data = $data.ToUpper()
$data = $data.replace("-",":")
$table = @()
foreach ($mac in $macs){
if ($data | findstr $mac){
$table += ($data | findstr $mac)
}
}
$clear = ($table -split " " | Where-Object {$_ -like "**:**:**:**:**:**"})
foreach ($line in $clear){
$arplist += ($arp | findstr $line) + "`n"
}
foreach ($tbll in $table){
foreach ($arps in $clear){
if ($tbll | findstr $arps){
$arpa = ($arplist | findstr $arps)
$arpa = $arpa -split ' +| '
$arpsa = ($arpa | Where-Object {$_ -like "192.168.*.*"} | Select-Object -First 1)
$exit = $tbll + " IP: " + $arpsa
Write-Output $exit >> exit.txt
}
}
}