1. Aperto de mão triplo TCP
O remetente envia um pacote com as bandeiras SYN=1 e ACK=0 para o receptor, solicitando uma conexão, que é o primeiro handshake. Se o receptor receber a solicitação e permitir a conexão, ele enviará um pacote com as sinalizações SYN=1 e ACK=1 ao remetente, informando que pode se comunicar e pedindo ao remetente que envie um pacote de confirmação, que é o segundo handshake. Por fim, o remetente envia um pacote com SYN=0 e ACK=1 ao receptor, informando que a conexão foi confirmada, o que é o terceiro aperto de mão. Depois disso, uma conexão TCP é estabelecida e a comunicação começa.
2. Informações de flag no pacote TCP
*SYN: Flag de sincronização
O campo Sincronizar Números de Sequência é válido. Essa bandeira só é válida quando uma conexão TCP é estabelecida durante um aperto de mão triplo. Ele solicita ao servidor da conexão TCP que verifique o número de série, que é o número de sequência inicial da conexão TCP inicial (geralmente o cliente). Aqui, o número da sequência TCP pode ser pensado como um contador de 32 bits variando de 0 a 4.294.967.295. Cada byte de dados trocado por uma conexão TCP é sequenciado. A coluna do número de sequência no cabeçalho TCP contém o número de sequência do primeiro byte no segmento TCP.
*ACK: Bandeira de Confirmação
O campo Número de Acusação de Acusação é válido. Na maioria das vezes, a ponta da bandeira é colocada. O número de confirmação (w+1, Figura-1) contido na coluna do número de confirmação no cabeçalho TCP é o próximo número de sequência esperado, e a extremidade remota é indicadaSistemaTodos os dados foram recebidos com sucesso.
*RST: Flag de redefinição
O sinal de reset é válido. Usado para resetar a conexão TCP correspondente.
*URG: Sinal de emergência
O sinal de indicador urgente é válido. Colocação de placas de emergência,
*PSH: Logo do Push
Quando a flag é colocada, o receptor não coloca os dados na fila, mas os transfere para a aplicação o mais rapidamente possível. A flag está sempre definida ao lidar com conexões em modos de interação, como telnet ou rlogin.
*FIN: Placa de fim
O pacote com essa bandeira é usado para encerrar um callback TCP, mas a porta ainda está aberta para receber dados subsequentes.
3. O papel de vários estados do TCP em nossa análise
Na camada TCP, há um campo FLAGS, que possui os seguintes identificadores: SYN, FIN, ACK, PSH, RST, URG. Entre eles, os cinco primeiros campos são úteis para nossa análise diária. Elas significam o seguinte: SYN significa estabelecer uma conexão, FIN significa fechar a conexão, ACK significa responder, PSH significa ter transferência de DADOS e RST significa resetar a conexão. Entre elas, ACK pode ser usado ao mesmo tempo que SYN, FIN, etc., por exemplo, SYN e ACK podem ser 1 ao mesmo tempo, o que representa a resposta após o estabelecimento de uma conexão; se for apenas um único SYN, representa apenas o estabelecimento de uma conexão. Os vários apertos de mão do TCP se manifestam por meio desses ACKs. No entanto, SYN e FIN não serão 1 ao mesmo tempo, porque o primeiro significa estabelecer uma conexão, enquanto o segundo significa desconectar. O RST geralmente aparece após FIN em 1, indicando um reset da conexão. Geralmente, quando um pacote FIN ou RST aparece, assumimos que o cliente está desconectado do servidor. Quando os pacotes SYN e SYN+ACK aparecem, pensamos que o cliente estabeleceu uma conexão com o servidor. PSH de 1 geralmente aparece apenas em pacotes com conteúdo de DADOS diferente de 0, o que significa que PSH de 1 significa que o conteúdo real de pacotes TCP está sendo passado. O estabelecimento e o fechamento da conexão TCP são feitos por meio de um padrão de solicitação-resposta
|