Autor Tema: Perl y [MX Edo Tracert]  (Leído 5229 veces)

0 Usuarios y 1 Visitante están viendo este tema.

hkm

  • Moderador
  • *
  • Mensajes: 1245
  • Liked: 292
    • Hakim.Ws
Perl y [MX Edo Tracert]
« : septiembre 14, 2006, 05:20:10 pm »
Tenia ganas de aprender Perl y me lei los tutoriales de:
http://www.eui.upm.es/CC/Chuletas/Perl/index.html y
http://www.sthomas.net/oldpages/roberts-perl-tutorial.htm#54-UserInput

Programe una aplicacion que parsea el resultado del tracert.exe de windows y como prodigy muestra demasiada informacion en sus hosts es posible identificar por que estados (por ahora) pasa la conexion.

Código: [Seleccionar]
#  [mx edo tracert] met.9/14/6 0.2.15
# Identifica los estados por los que pasa una conexion de Prodigy Mexico
# utiliza tracert.exe y solo checa keywords en los hosts
# mi primer programa en perl
# hkm

#aqui estan las listas de keywords
@key = ("mex", "edo", "ver", "tab", "pue", "yuc", "tam", "tlx", "chi", "mty", "mor",
"mch", "jal", "qro", "l200");
@word = ("DF/Mexico ", "Edo Mex   ", "Veracruz  ", "Tabasco   ", "Puebla    ", "Yucatan   ",
"Tamaulipas", "Tlaxcala  ", "Chihuahua ", "Monterrey ", "Morelos   ", "Michoacan ",
"Jalisco   ", "Queretaro ", "Infinitum ");

#utilizamos el input default o pedimos el host/ip
if (@ARGV == null){
print "tracert: ";
chomp ($host=<STDIN>);
print "\nEjecutando tracert a $host...\n\n";
@tracert = `tracert $host`;
}else{
print "\nEjecutando tracert a @ARGV...\n\n";
@tracert = `tracert @ARGV`;
}

#guardamos en @temp lo que nos interesa del trace (host e ip)
for ($i = 4; $i < @tracert-2; ++$i) #apartir de la linea 4 y terminamos en la -2
{
push (@temp, substr($tracert[$i],30));
}

for ($i = 0; $i < @temp; ++$i) #recorremos las lineas
{
for($e = 0; $e < @key; ++$e) #recorremos los keys
{
if ($temp[$i] =~/$key[$e]/) #buscamos el key
{
print "$word[$e]"; #imprimimos el word relacionado con el key (misma posicion)
$e = @key;
}else{
if ($e == $#key)
{
print "    ?    ";
}
}
}
print $temp[$i]; #imprimimos el host e ip
}

Faltan varios estados pero es necesario que me ayuden a encontrar los keywords con los que se relaciona, si tienen ideas o correcciones o mejoras de algun tipo son bienvenidas. saludos,


hkm

« Última Modificación: octubre 24, 2006, 07:14:32 pm por hkm »

PI

  • Mensajes: 12
  • Liked: 0
Re: Perl y [MX Edo Tracert]
« Respuesta #1 : octubre 24, 2006, 06:39:37 pm »
Al script le faltaba una llave } al final creo que se te paso xD.

Se podria hacer en java, por la multiplataforma y graficos, además también se podria implementar para linux ya que es lo mismo solo que con traceroute.

Hice un a Google y esto me mando..

Ejecutando tracert a www.google.com...

    ?      home [192.168.1.254]
Infinitum   dsl-servicio-l200.uninet.net.mx [200.38.193.226]
Jalisco     bb-jal-tlaquepaque-8-pos4-2.uninet.net.mx [201.125.73.242]
    ?      inet-cal-onewilshire-3-POS2-0.uninet.net.mx [200.38.132.233]
    ?      ded3-g12-3-0.irvnca.sbcglobal.net [71.142.171.33]
    ?      bb1-p12-3.irvnca.sbcglobal.net [151.164.191.10]
    ?      151.164.42.77
    ?      core1-p8-0.cranca.sbcglobal.net [151.164.241.225]
    ?      core2-p3-0.crscca.sbcglobal.net [151.164.242.185]
    ?      core2-p2-0.crsfca.sbcglobal.net [151.164.42.47]
    ?      bb1-p8-0.crsfca.sbcglobal.net [151.164.243.2]
    ?      ex1-p9-0.pxpaca.sbcglobal.net [151.164.240.17]
    ?      asn15169-google-2.pxpaca.sbcglobal.net [151.164.250.134]
    ?      209.85.130.6
    ?      72.14.233.131
    ?      216.239.49.66
    ?      216.239.49.54
    ?      66.102.7.104


Creo que una manera de saber todos los estados, es ejecutar el tracert con paginas que esten en los servidores de ese estado..


hkm

  • Moderador
  • *
  • Mensajes: 1245
  • Liked: 292
    • Hakim.Ws
Re: Perl y [MX Edo Tracert]
« Respuesta #2 : octubre 24, 2006, 07:19:31 pm »
El script es solamente para IPs de prodigy como prodigy muestra demasiada informacion en sus hosts es posible identificar por que estados (por ahora) pasa la conexion. Como lo dice ahi solo identifica keywords en los hosts asi que no tiene caso correrlo con google. Para conocer mas estados o locaciones es necesario correrlo contra mas ips de diferentes partes de la republica. saludos,


hkm