Fala ai mano, blz?
Cara, estou lendo o livro black hat python e me deparei com a seguinte situação:
No capitulo 2 o autro ensina criar um sniffer de rede. Para isso ele cria uma estrutura do cabeçalho do IP.
O autor usa o módulo ctypes, e um pedaço do código segue abaixo:
from ctypes import *
class IP(Structure):
_fields_ = [
("src", c_ulong),
("dst", c_ulong)
]
def __init__(self, socket_buffer=None):
# human readable IP addresses
self.src_address = socket.inet_ntoa(struct.pack("<L",self.src))
self.dst_address = socket.inet_ntoa(struct.pack("<L",self.dst))
Minha dúvida é ma seguinte, como funciona o _fields_ ?
Pois pois na função __init__ ele chama slf.src e self.dst que estão definidas em duas tuplas dentro da lista que está armazenada em _fields_.
Grato desde já.
Unconfigured Ad Widget
Collapse
Anúncio
Collapse
No announcement yet.
Visitor message from _newbie_
Collapse
Profile Sidebar
Collapse
Radicalzinho
Programador
Última Visita: 13-07-2018, 23:56
Joined: 01-11-2010
Location: São Paulo
Leave a comment: