By
groundman at 2011-01-02
en este programa los datos capturados en el buffer ethernet del enc28j60 son enviados a la zona de memoria del pic
ubicada entre las direcciones 170h y 3ffh.con esta cantidad de momemoria tenemos mas que de sobra para analizar
packets recibidos.
quiero empezar por analizar un packet de los tantos que circulan por la red.
en este caso el enc28j60 a capturado un packet que por la informacion que se ve en la imagen es un broadcast.
este tipo de paquetes siempre siempre se reciben ya que se transmiten a todos los ordenadores de la intranet.
es facil distinguirlos porque en parte del paket se distinguen los 6 bytes FF.FF.FF.FF.FF.FF
voy a descomponer el paquete a partir de la direccion 170h que es el principio de los datos leidos del buffer
ethernet.y utilizando el wireshark confrontare los datos para saber su funcion.quizas este paket no sea de
los mas sencillos a analizar pero es el primer broadcast que he capturado.
los protocolos usados en este paquete son:eth,ip,udp,nbns
66.00.60.00.80.00 =no forman parte del paquete a gestionar.los dos primero bytes contienen la dirección donde
se guardará el próximo paquete.los otros no son muy importantes.
FF.FF.FF.FF.FF.FF =destino: direccion de broadcast
00:1e:ec:59:ea:40 =fuente: en este caso una de las targetas de red de otro PC.
08.00 =type (IP)
45.00 =version (IPV4)
00 =diferenciated service
00.4E =longitud total 78bytes contando desde la version hasta el final(no se inclulle las mac ni el type)
34.32 =identificacion (13362) numero de paquetes recividos de la misma fuente(ip 192.168.1.110)
00.00 =flags,fragment ofset
80 =tiempo de vida (128 saltos)
11 =protocolo (UDP)
81.af =chequeo de cabezera (correcto)
c0.a8.01.6e =fuente (192.168.1.110)
c0.a8.01.ff =destino (192.168.1.255)
datagrama de usuario
00.89 =puerto fuente 137 (netbios-ns)
00.89 =puerto destino 137 (netbios-ns)
00.3a =longitud 58bytes.numero de bytes desde datagrama de usuario hasta el final del paquete
85.09 =chequeo (validacion desactivada)
netbios name service
DB.41 =transaccion ID.
01.10 =flags. consulta de nombres
00.01 =preguntas
00.00 =respuesta rrs
00.00 =autoridad rrs
00.00 =adicional rrs
consultas
20.46.45.42.45.4D.45.4D.45.46.46.43.46.41.46.41.43.41.43.41.43.41.43.41.43.41.43.41.43.41.43.41.43.41
00.20 =tipo NB
00.01 =clase IN
por lo que estoy viendo.esta trama pertenece a un programa de acceso a escritorio remoto de internet.
que nisiquiera estoy usando.
aqui en el analisis de tramas es donde nos damos cuenta de la cantidad de porqueria que se nos cuela en nuestro
ordenador.
cosas que instalamos y nunca nos acordamos de desinstalar.otras que se instalan sin saberlo nosotros.
etc.etc
por eso empieza la ordenador a ponerse lento cuando utilizamos la red.pero bueno,no es el tema que nos aborda.
el protocolo eth: esta compuesto por las mac de destino,mac fuente y el tipo.
el protocolo IP:esta compuesto desde la version del protocolo(ipv4) hasta la IP de destino.
el protocolo udp:esta compuesto desde el puerto fuente hasta el checsum
y el resto es el protocolo nbns.netbios name service.
el protocolo eth que se puede decir que es la cabezera de la trama.siempre es enviada en un paquete.
el protocolo IP no le veo la mayor complicacion.aunque quizas hubiera que profundizar algo mas.
lo que si tendria que trabajame mas seria el UDP que tampoco lo veo tan dificil.pero el NBNS
no estoy enterado del todo para que sirve.me imagino que sera para obtener una ip automaticamente.pero no estoy seguro.
una curiosidad a tener en cuenta a la hora de analizar las tramas es que hay una forma de localizar el principio de cada packet.
hay que buscar una secuencia de bytes.
son estos: una secuencia de valores decimales del 1 al 4 y los 6 bytes de control que preceden a cada packet.
1
2
3
4
xx
xx
xx
xx
xx
xx
xx
comienzo de packet.