Guest gnoo Posted November 10, 2018 at 03:47 PM Share Posted November 10, 2018 at 03:47 PM Saudações, o objetivo deste tópico é consolidar conhecimentos aumentando as minhas competências pessoais, e também deixar alguma informação a outros utilizadores que muito provavelmente fazem uso da biblioteca socket do python, e executam um handshake cada vez que criam uma conexão e muito provavelmente nem dão por isso.... eu não vou aprofundar muito a questão com promenores tecnicos porque não tenho competências nem conhecimentos para tal, mas fica uma explicação bastante genérica e concisa com o pouco que sei que para alguns pode ser um ponto de partida para que possam alargar horizontes. De uma forma grosseira podemos dizer que um handshake ocorre no protocolo TPC resultado de uma negociação entre dois dispositivos podendo dar como exemplo um cliente e um servidor, onde ocorre um troca de pacotes entre eles, esses pacotes estão associados a um cabeçalho que contém um campo com informação de uma flag que é enviada, essas flags indicam o inicio de comunicação, a aceitação da comunicação neste caso do cliente com o servidor, e também são definidas flags para que seja terminada essa sessão. Cabeçalho TCP Os requisitos para este exemplo são a idle do python ou um editor de texto a vossa escolha, e o wireshark para observar essa troca de pacotes com as respetivas flags. Código python Em seguida devem iniciar o wireshark e escolher a interface da placa de rede que está em uso, e escolher como filtro o TCP, ele vai capturar apenas os pacotes que se deslocam nesse protocolo. Quando executam o código anterior podem ver que o wireshark capturou alguns pacotes entre o cliente e o servidor, onde podem ser vistas as flags que foram trocadas entre eles para que a conexão fosse efetuada. O que estas flags nos dizem ... O que isto mais ou menos nos diz é que o cliente ao enviar a flag SYN pede para iniciar conexão, o servidor envia resposta SYN+ACK como reconheicmento para que a conexão seja efetuada e o cliente envia finaliza com a flag ACK em que reconhece a resposta enviada pelo servidor. Isto é um handshake efetuado com python mas poderia ser com outra linguagem qualquer. Se viste algum erro já sabes o que tens que fazer :) Cumprimentos. Link to comment Share on other sites More sharing options...
Recommended Posts
Archived
This topic is now archived and is closed to further replies.