Definicion del paquete arp.
Cada paquete implementa un iterador que recorre el nombre de sus campos en el mismo orden en que son leidos de un stream. El modulo utils.py implementa una funcion para imprimir a modo de debuggeo un paquete cualquiera.
Cambiado el nombre de la funcion dissect por inspect que es mas descriptivo y adecuado.
Creadas las descripciones de pcap y ethernet. Creado un programa para determinar que host estan activos basandose solamente en la captura de paquetes arp. Tanto el programa como los paquetes pcap y ethernet son protototipos.
Agregado el campo faltante a ethernet. Agregado un comentario a passive_arp. Hay dos issues, en ocaciones un paquete puede no contener algun campo (como el checksum del ehternet). El otro issue sucede cuando se quiere hacer lecturas posiblemente bloqueantes e incluso fragmentadas para obtener un unico string y este decodificarlo (ip/tcp fragmentation).
Prototipo de un programa para hacer reconocimiento de hosts con arp de forma activa.
Arreglado el test de parseo removiendo __iter__ de la lista de attributos buscados.
Ahora, set_state retorna la cantidad de bytes consumidos, sacandole esa responsabilidad al metodo get_size.
Implementado correctamente get_size de Payload. get_size debe retornar la cantidad de bytes que contiene el field, no la cantidad de bytes a leer o esperados que tenga dicho field.
Agregado MAC como un paquete mas. Creado un soporte para usar paquetes desde otros.
Ahora, el endianess, sign y typecode de IntField y Payload puede ser cambiado en el archivo de paquete.
Campo MAC prototipo.
Manejado el caso de querer setear un objeto x a un intfield.
Merge branch 'arp_poc'