Entradas

Mostrando entradas de enero, 2009

Como medir el Ancho de Banda entre hosts mediante ICMP

Solo es un promedio y es un aproximado (No es preciso) Por ejemplo, Conexión Directa de mi laptop a una PC de escritorio, ambos con una tarjeta 100 Base T. Después de un: Código Anon @ localhost % man ping Tenemos que con: Código ping -c 100 -s 10232 192.168 .0 .1 Código Anon @ localhost # ping -c 100 -s 10232 192.168.0.1 PING 192.168 .0 .1 ( 192.168 .0 .1 ) : 10232 data bytes 10240 bytes from 192.168 .0 .1 : icmp_seq= 99 ttl= 128 time= 2.263 ms #Muchas Respuestas Omitidas... --- 192.168 .0 .1 ping statistics --- 100 packets transmitted, 100 packets received, 0.0 % packet loss round-trip min / avg / max / stddev = 2.134 / 2.261 / 2.437 / 0.042 ms Nota que la maquina tardo en responderme bastante tiempo bueno, eso pienso yo (Creo que por que la PC de Escritorio es WIndows Vista) Igual no ocupábamos tantos paquetes con unos cuantos hubiese bastado, puse muchos para sacar un promedio. Citar 100 packets transmitted, 100 packets received, 0.0% packet loss round-trip min/a

Posible error en inet_ntoa()

Practicando un poco sobre raw sockets y demás, he visto que en existe un error muy curioso en la función inet_ntoa() que es estandar dentro de libc. Todo surgio a raiz de https://foro.elhacker.net/programacion_cc/pequeno_sniffer_en_c-t235639.0.html;msg1156524#msg1156524 No se si sea igual el codigo en linux, pero este ultimo al igual que freebsd tambien tiene la falla. El codigo de inet_ntoa es el siguiente: inet_ntoa ( struct in_addr in ) {         static char ret [ 18 ] ;          strcpy ( ret, "[inet_ntoa error]" ) ;         ( void ) inet_ntop ( AF_INET, & in, ret, sizeof ret ) ;         return ( ret ) ; } inet_ntoa Manda llamar inet_ntop y esta a su vez a inet_ntop4 const char * inet_ntop ( int af, const void * __restrict src, char * __restrict dst,    socklen_t size ) {         switch ( af ) {         case AF_INET :                 return ( inet_ntop4 ( src, dst, size ) ) ;         case AF_INET6 :                 return (