1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

TCP Handshake

Discussão em 'Dúvidas e Suporte—Internet, Redes, Segurança' iniciada por panick777, 10 de Abril de 2007. (Respostas: 4; Visualizações: 544)

  1. Alguém sabe se é possível, numa conexão TCP, o seguinte cenário:

    IP1/Port1 envia pacote SYN para IP2/Port2

    IP2/Port2A reponde SYN/ACK para IP1/Port1

    (o handshake continua de forma normal)


    Ou seja, o que eu quero saber é se é possível um cliente iniciar uma ligação para um porto de um servidor, o servidor responder a esse pedido a partir de outro porto e a ligação continuar normalmente utilizando o novo porto no servidor.

    O possível fazer isto desta forma?
    Ou é necessário terminar esta ligação e iniciar uma nova ligação utilizando o novo porto?


    Obrigado pela vossa ajuda!

    Cumprimentos
     
  2. carlosmcruz

    carlosmcruz Power Member

    Depende do hardware. Por norma não é possível mas já vi por aí em fóruns respostas dessas, não foi por aqui mas já vi.

    Cumps,
     
  3. esmifra

    esmifra Power Member

    posso estar errado mas esse e mesmo o comportamento de por exemplo um servidor de FTP em PASSIVE MODE. entras numa porta, fazes o Auth e ele depois manda-te para outra porta para fazer o LIST e os possíveis GET.
     
  4. carlosmcruz

    carlosmcruz Power Member

    Sim tens razão. Mas é impressão minha ou ele quer distinguir por hardware também?

    Não são apenas portas diferentes mas também placas ethernet e ip's diferentes não é?

    Pelo menos foi o que entendi. Assim julgo não ser assim tão fácil... penso eu de que...

    Cumps,
     
  5. Fonzi

    Fonzi Power Member

    A máquina que recebe o SYN/ACK nunca vai aceitar esse pacote pois está a recebê-lo de outra ligação, que não a que foi establecida. A primeira ligação fica pendente de acknowledge, mas quando este é devolvido, não será reconhecido, pois a máquina 2 criou uma nova ligação que confirma OUTRA ligação. Nâo sei se me estou a fazer entender.

    Acho que a única forma de fazer isto é mesmo mexer nas entranhas do TCP e fazer com que um socket aceite a confirmação de uma ligação que na prática será diferente (através de ID's??).

    Ou então utilizar a solução que o FTP implementa. Um canal para controlo e gestão (porta 21), outro canal para transferências de dados.
     

Partilhar esta Página