AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / computer / Perguntas / 1841598
Accepted
WoJ
WoJ
Asked: 2024-05-07 18:52:40 +0800 CST2024-05-07 18:52:40 +0800 CST 2024-05-07 18:52:40 +0800 CST

Como explicar sequências de FIN,ACK em vez de FIN - FIN,ACK?

  • 772

Contexto: Debian 12 recém-instalado, recebo vários logs estranhos relacionados ao ssh:

root@square:~# journalctl -u ssh -f
May 07 11:13:00 yop-square sshd[766]: error: kex_exchange_identification: Connection closed by remote host
May 07 11:13:00 yop-square sshd[766]: Connection closed by 10.91.66.91 port 53714
May 07 11:13:00 yop-square sshd[767]: error: kex_exchange_identification: Connection closed by remote host
May 07 11:13:00 yop-square sshd[767]: Connection closed by 10.106.14.62 port 54236
May 07 11:13:00 yop-square sshd[768]: error: kex_exchange_identification: Connection closed by remote host
May 07 11:13:00 yop-square sshd[768]: Connection closed by 10.35.165.19 port 60748
May 07 11:13:06 yop-square sshd[771]: error: kex_exchange_identification: Connection closed by remote host
May 07 11:13:06 yop-square sshd[771]: Connection closed by 10.35.165.49 port 42286
May 07 11:13:06 yop-square sshd[772]: error: kex_exchange_identification: Connection closed by remote host
May 07 11:13:06 yop-square sshd[772]: Connection closed by 10.80.98.247 port 47780

Podem ser dispositivos fazendo varreduras (parte de uma rede corporativa), mas o comportamento/registro é estranho. Peguei um tcpdumpe abaixo está uma das trocas que leva aos logs acima

No.     Time        Source          Destination     Protocol Length    Info
1380    122.725892  10.81.98.206    10.237.76.90    TCP 74  60422 → 22 [SYN] Seq=0 Win=29200 Len=0 MSS=1460 SACK_PERM TSval=4018386585 TSecr=0 WS=128
1381    122.725908  10.237.76.90    10.81.98.206    TCP 74  22 → 60422 [SYN, ACK] Seq=0 Ack=1 Win=65160 Len=0 MSS=1460 SACK_PERM TSval=660439285 TSecr=4018386585 WS=128
1382    122.726397  10.81.98.206    10.237.76.90    TCP 66  60422 → 22 [ACK] Seq=1 Ack=1 Win=29312 Len=0 TSval=4018386586 TSecr=660439285
1383    122.726505  10.81.98.206    10.237.76.90    TCP 66  60422 → 22 [FIN, ACK] Seq=1 Ack=1 Win=29312 Len=0 TSval=4018386586 TSecr=660439285
1384    122.730066  10.237.76.90    10.81.98.206    TCP 66  22 → 60422 [ACK] Seq=1 Ack=2 Win=65280 Len=0 TSval=660439290 TSecr=4018386586
1385    122.738228  10.237.76.90    10.81.98.206    SSH 106 Server: Protocol (SSH-2.0-OpenSSH_9.2p1 Debian-2+deb12u2)
1386    122.738603  10.237.76.90    10.81.98.206    TCP 66  22 → 60422 [FIN, ACK] Seq=41 Ack=2 Win=65280 Len=0 TSval=660439298 TSecr=4018386586
1387    122.738792  10.81.98.206    10.237.76.90    TCP 60  60422 → 22 [RST] Seq=2 Win=0 Len=0
1388    122.739140  10.81.98.206    10.237.76.90    TCP 60  60422 → 22 [RST] Seq=2 Win=0 Len=0

Neste cenário 10.237.76.90é me(minha caixa Debian) e 10.81.98.206é them. Observe que toda a atividade é autorizada e outros enfeites - o objetivo da minha pergunta é entender a troca e descobrir quem está se comportando mal (ou, alternativamente, se está tudo bem e a troca/logs são o que deveriam ser)

  • 1380para 1382→ theyiniciar uma chamada SSH e passar pelo handshake
  • 1383→ theyenviar um FIN,ACK, por quê? . Se quisessem encerrar a conversa, deveriam ter enviado um FINe aguardado um FIN,ACK, certo?
  • 1384→ Envio um ACK, não sei por quê.

De qualquer forma, as coisas parecem ir para o sul a partir daí

  • 1385→ meu ssh apresenta seu protocolo, não faço ideia do porquê já que a conexão foi encerrada
  • 1386→ meenvia um FIN,ACK, do nada
  • 1387e 1388→ theyenviar dois RST, provavelmente para me dizer para me perder

Ainda não tenho certeza de quem está bagunçando a conexão, mas com certeza gostaria de saber porque é um problema meu sshd(o que duvido seriamente) ou da digitalização corporativa e por isso enviarei um bugio .

linux
  • 1 1 respostas
  • 291 Views

1 respostas

  • Voted
  1. Best Answer
    grawity_u1686
    2024-05-07T19:17:27+08:002024-05-07T19:17:27+08:00

    Não tenho 100% de certeza sobre isso (na verdade, tenho apenas 65% de certeza), mas:

    1383 → enviam um FIN,ACK, por quê?. Se quisessem encerrar a conversa deveriam ter enviado um FIN e aguardar um FIN,ACK, certo?

    Não necessariamente. As conversas TCP são encerradas independentemente em cada direção, então essas duas são, na verdade, duas coisas independentes: você envia FIN para encerrar a conversa do seu lado e envia ACK para reconhecer quaisquer segmentos que você ainda não tenha confirmado. Esses podem ser dois pacotes separados ou combinados em um.

    Da mesma forma, embora o servidor normalmente responda com um “FIN,ACK” em um pacote, eles não são inerentemente uma única unidade; o servidor pode enviar seu próprio FIN separadamente do ACK do FIN recebido, se desejar. Neste caso, ainda possui alguns dados que já estavam na fila para envio antes de poder enviar o FIN.

    1384 → Envio um ACK, não sei porquê.

    Você recebeu um FIN, que possui seu próprio número de sequência e garante um ACK.

    1385 → meu ssh apresenta seu protocolo, não faço ideia do porquê já que a conexão foi encerrada

    Um FIN significa apenas "este foi o último pacote do meu lado", mas ainda permite que os dados sejam enviados na direção oposta. Pode levar algum tempo para o FIN chegar e ser processado, durante o qual o software já pode ter enviado dados ao TCP, e esses dados devem ser entregues corretamente antes do desligamento completo.

    1387 e 1388 → eles mandam dois RST, provavelmente para me mandar sumir

    Não tenho certeza do porquê; talvez o cliente já tenha perdido o controle da conexão prematuramente (ferramentas de varredura como o nmap podem estar fazendo isso); nesse caso, um RST seria apropriado.

    • 4

relate perguntas

  • Como eu faria minha máquina Linux parecer que está executando o Windows?

  • Existe um equivalente a cd - para cp ou mv?

  • execute o contêiner do docker como root

  • Como ativar o sensor de impressão digital no domínio e no diretório ativo do Linux

  • Como alterar permanentemente Ctrl + C para Ctrl + K no CentOS 7?

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Como posso reduzir o consumo do processo `vmmem`?

    • 11 respostas
  • Marko Smith

    Baixar vídeo do Microsoft Stream

    • 4 respostas
  • Marko Smith

    O Google Chrome DevTools falhou ao analisar o SourceMap: chrome-extension

    • 6 respostas
  • Marko Smith

    O visualizador de fotos do Windows não pode ser executado porque não há memória suficiente?

    • 5 respostas
  • Marko Smith

    Como faço para ativar o WindowsXP agora que o suporte acabou?

    • 6 respostas
  • Marko Smith

    Área de trabalho remota congelando intermitentemente

    • 7 respostas
  • Marko Smith

    O que significa ter uma máscara de sub-rede /32?

    • 6 respostas
  • Marko Smith

    Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows?

    • 1 respostas
  • Marko Smith

    O VirtualBox falha ao iniciar com VERR_NEM_VM_CREATE_FAILED

    • 8 respostas
  • Marko Smith

    Os aplicativos não aparecem nas configurações de privacidade da câmera e do microfone no MacBook

    • 5 respostas
  • Martin Hope
    Vickel O Firefox não permite mais colar no WhatsApp web? 2023-08-18 05:04:35 +0800 CST
  • Martin Hope
    Saaru Lindestøkke Por que os arquivos tar.xz são 15x menores ao usar a biblioteca tar do Python em comparação com o tar do macOS? 2021-03-14 09:37:48 +0800 CST
  • Martin Hope
    CiaranWelsh Como posso reduzir o consumo do processo `vmmem`? 2020-06-10 02:06:58 +0800 CST
  • Martin Hope
    Jim Pesquisa do Windows 10 não está carregando, mostrando janela em branco 2020-02-06 03:28:26 +0800 CST
  • Martin Hope
    andre_ss6 Área de trabalho remota congelando intermitentemente 2019-09-11 12:56:40 +0800 CST
  • Martin Hope
    Riley Carney Por que colocar um ponto após o URL remove as informações de login? 2019-08-06 10:59:24 +0800 CST
  • Martin Hope
    zdimension Ponteiro do mouse movendo-se nas teclas de seta pressionadas no Windows? 2019-08-04 06:39:57 +0800 CST
  • Martin Hope
    jonsca Todos os meus complementos do Firefox foram desativados repentinamente, como posso reativá-los? 2019-05-04 17:58:52 +0800 CST
  • Martin Hope
    MCK É possível criar um código QR usando texto? 2019-04-02 06:32:14 +0800 CST
  • Martin Hope
    SoniEx2 Altere o nome da ramificação padrão do git init 2019-04-01 06:16:56 +0800 CST

Hot tag

windows-10 linux windows microsoft-excel networking ubuntu worksheet-function bash command-line hard-drive

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve