Esse é um dos scripts que fiz para ajudar uma colega num exercício da faculdade. Ele lista dodos os IPs de uma determinada rede. O script lhe pede o IP (ex.: 192.168.0.0) e a máscara (ex.: 24) é ele usa essa notação para máscara - preste atenção nisso!
Logo após ele cria dentro da unidade c:\ um arquivo chamado ListaIp.txt, e dentro dele a lista de IPs que estão dentro dessa rede.
PS.: Esse programa ainda não faz VLSM.
SCRIPT:
dim IP 'recebe o IP
dim i 'usado nos contadores
dim j 'usado nos contadores
dim l 'usado nos contadores
dim tam 'tamanho da string do IP
dim OC1 'primeiro octeto
dim OC2 'Segundo octeto
dim OC3 'terceiro octeto
dim OC4 'quarto octeto
dim MASK 'máscara
dim arquivo 'caminho para o arquivo final
arquivo = "C:\ListaIp.txt"
' Criando o arquivo a receber a lista de IPs
Set objArq = CreateObject("Scripting.FileSystemObject")
Set EArq = objArq.OpenTextFile(arquivo, 8, True)
' Recebendo o endereço IP do usuário
IP = inputbox("Digite o endereço IP a scannear: ")
' Pegando o numero de caracteres do IP (vai ser usado
' para separar os octetos)
tam = Len(IP)
' Separando os octetos
num = InStr(IP, ".")
OC1 = Left(IP, num-1)
IP = Right(IP, tam-num)
tam = Len(IP)
num = InStr(IP, ".")
OC2 = Left(IP, num-1)
IP = Right(IP, tam-num)
tam = Len(IP)
num = InStr(IP, ".")
OC3 = Left(IP, num-1)
OC4 = Right(IP, tam-num)
' Octetos separados com sucesso
' Recebendo a máscara de rede do usuário
MASK = inputbox("Digite a máscara do endereço IP: ")
' Testando a máscara, gerando os IPs e Escrevendo-os em arquivo
If MASK = 24 then
for i=0 to 255
IP = OC1 & "." & OC2 & "." & OC3 & "."
OC4 = i
IP = IP & OC4
EArq.WriteLine(IP)
Next
Earq.Close
Elseif MASK = 16 then
for j=0 to 255
IP = OC1 & "." & OC2 & "."
OC3 = j
for i=0 to 255
IP = OC1 & "." & OC2 & "." & OC3 & "."
OC4 = i
IP = IP & OC4
EArq.WriteLine(IP)
Next
Next
Elseif MASK = 8 then
for l=0 to 255
IP = OC1 & "."
OC2 = l
for j=0 to 255
IP = OC1 & "." & OC2 & "."
OC3 = j
for i=0 to 255
IP = OC1 & "." & OC2 & "." & OC3 & "."
OC4 = i
IP = IP & OC4
EArq.WriteLine(IP)
Next
Next
Next
Else
msgbox("Máscara não suportada")
End if
}
0 comentários:
Postar um comentário