Enviado em 24/06/2018 - 14:01h
Boa tarde galera!
class DnsPacket(BigEndianStructure):
""" Class representative to DNS header.
This class handle a bytes buffer in ctypes field mode """
def __new__(cls, buffer):
return cls.from_buffer_copy(buffer)
_fields_ = [('identification', c_uint, 16),
('query_type', c_uint, 1),
('optional_code', c_uint, 4),
('authoritative_answer', c_uint, 1),
('truncation', c_uint, 1),
('recursion_desired', c_uint, 1),
('recursion_available', c_uint, 1),
('reserved_for_future', c_uint, 3),
('response_code', c_uint, 4),
('question_count', c_uint, 16),
('answer_count', c_uint, 16),
('nameserver_count', c_uint, 16),
('aditional_count', c_uint, 16)]
1 1 1 1 1 1
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| |
/ QNAME /
/ /
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QTYPE |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
| QCLASS |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
class QuestionSection(BigEndianStructure):
_fields_ = [('size', c_uint),
('name', label), # Aqui criariamos uma string baseado no tamanho da label acima.
def get_domain_name(self, data):
array_data = bytearray(data[sizeof(self):])
expected_lenght = array_data.pop(0)
nameserver = ''
while expected_lenght is not 0:
for _ in range(expected_lenght):
nameserver += chr(array_data.pop(0))
expected_lenght = array_data.pop(0)
if expected_lenght is not 0:
nameserver += '.'
return nameserver
Melhorando o tempo de boot do Fedora e outras distribuições
Como instalar as extensões Dash To Dock e Hide Top Bar no Gnome 45/46
E a guerra contra bots continua
Tradução do artigo do filósofo Gottfried Wilhelm Leibniz sobre o sistema binário
Instalar a última versão do PostgreSQL no Lunix mantendo atualizado
Flathub na sua distribuição Linux e comandos básicos de gerenciamento
Instalando o FreeOffice no LMDE 6
Anki: Remover Tags de Estilo HTML de Todas as Cartas
Colocando uma opção de redimensionamento de imagem no menu de contexto do KDE
Reinstalei o Debian 12 e a particao /home foi formatada: recuperando s... (7)
Debian Bookworm para a versão beta Debian 13 Trixie (6)
[Shell Script] Script para desinstalar pacotes desnecessários no OpenSuse
[Shell Script] Script para criar certificados de forma automatizada no OpenVpn
[Shell Script] Conversor de vídeo com opção de legenda
[C/C++] BRT - Bulk Renaming Tool
[Shell Script] Criação de Usuarios , Grupo e instalação do servidor de arquivos samba