host = ARGV[0] || '10.0.192.1'
community = ARGV[1] || '###'
fichier = File.new(host + "-mac.log", "w")
# Lecture de la table des adresses mac le port represente l'index de la mibe bridge"
require 'snmp'
IndexPort = ["1.3.6.1.2.1.17.1.4.1.2."]
IndexPort1 =["1.3.6.1.2.1.31.1.1.1.1."]
MacTable_columns = ["1.3.6.1.2.1.17.4.3.1.1", "1.3.6.1.2.1.17.4.3.1.2", "1.3.6.1.2.1.17.4.3.1.3"]
SNMP::Manager.open(:Host => host ,:Community => community) do |manager|
manager.walk(MacTable_columns) do |mac, port, type|
if type.value = 3
mac.each { |vb| fichier.print(vb.value.unpack("H2H2H2H2H2H2").join(":")) }
port.each { |vb|
#trouver l'eindex du port
reponse = manager.get(IndexPort[0] + vb.value.to_s)
reponse.each_varbind do |ar|
#trouver le name port
reponse = manager.get(IndexPort1[0] + ar.value.to_s)
reponse.each_varbind do |ab|
fichier.print("\,#{ab.value}")
end
end}
type.each { |vb| fichier.print("\,#{vb.value}")}
fichier.puts()
end
end
fichier.close
end
puts("Voila")
4 Messages de forum