Enviado em 17/07/2016 - 16:55h
Boa tarde pessoal... escrevi um rascunho de uma resolução de endereços (ARP), o código já está funcional como podem ver na imagem que o wireshark me retorna ao sniffar meu pacote http://i.imgur.com/rqwn1Uk.png e o alvo também responde normalmente.
O problema é que eu estou reestruturando este rascunho usando a ctypes do python só que está me devolvendo resultados inesperados com inteiros no lugar de bytes e o buffer acaba ficando ilegível e eu não sei porquê, Alguém poderia me ajudar nessa missão? Ou ao menos dizer onde estou errando, já estou 4 dias e não consigo nada além de mensagens de erro.
Rascunho --> http://pastebin.com/UK69erAf
Oque estou tentando fazer:
O problema é que eu estou reestruturando este rascunho usando a ctypes do python só que está me devolvendo resultados inesperados com inteiros no lugar de bytes e o buffer acaba ficando ilegível e eu não sei porquê, Alguém poderia me ajudar nessa missão? Ou ao menos dizer onde estou errando, já estou 4 dias e não consigo nada além de mensagens de erro.
Rascunho --> http://pastebin.com/UK69erAf
Oque estou tentando fazer:
class ArpResponse(Structure):@listeiro eu sei que você está lendo isso e manja de programação, ajuda esse noob cara! kkkkkkk
_fields_ = [('eth_dst', c_ubyte),
('eth_src', c_ubyte),
('eth_pro', c_ushort),
('arp_hrd', c_ushort),
('arp_pro', c_ushort),
('arp_hln', c_ubyte),
('arp_pln', c_ubyte),
('arp_opr', c_ushort),
('arp_sha', c_ubyte, 6),
('arp_sip', c_ubyte, 4),
('arp_tha', c_ubyte, 6),
('arp_dip', c_ubyte, 4)]
def __init__(self, socket_bufer=None, *args, **kwargs):
super().__init__(*args, **kwargs)
self.socket_bufer = socket_bufer
self.src_address = pack('', self.arp_sip)
def __new__(cls, socket_buffer):
return cls.from_buffer_copy(socket_buffer)