Re: [GTER] Dúvida sobre ajuste do ACK/SEQ em NAT

Andre Gustavo de Carvalho Albuquerque gustavo.albuquerque at gmail.com
Wed Oct 5 17:07:28 -03 2005


Na página http://www.freesoft.org/CIE/Course/Section4/10.htm vc
encontra alguns exemplos de situações geradoras de TCP RST.

Verifique se alguma delas não se aplica ao seu caso.

TCP mantem uma máquina de estados. Atente para este fato ao fazer a
análise do fluxo de dados. Tente desenhar um diagrama com o estado em
que cada ponta se encontra ao receber ou enviar pacotes.

[]s, Gustavo

On 10/5/05, Fabrício Barros Cabral <fxcabral at yahoo.com.br> wrote:
> Olá todos!
>
> Estou implementando um sistema simples de NAT (para fins puramente
> acadêmicos) e me surgiu um problema interessante. No momento, meu
> sistema de NAT apenas modifica o endereço e a porta de destino de um
> determinado pacote. Após a modificação, eu guardo o endereço e porta de
> destino original (para fazer o restore dos pacotes que virão) e
> recalculo o IP e TCP/UDP checksum. Então, utilizo uma simples conexão
> telnet a um servidor web qualquer (eu estou redirecionando a conexão
> para um *outro* servidor web, rodando em *outra* máquina e em *outra*
> porta - diferente da padrão) afim de testar esta implementação de NAT.
> Assim, observo que o 3-way handshake ocorre normalmente, conforme o
> esperado. Só que ao enviar um comando GET (eu digito GET + <enter> na
> conexão telnet), eu observo que o GET foi enviado normalmente e recebo
> também um ACK deste envio, mas logo em seguida aparecem alguns RST deste
> ACK, mas que não impedem o recebimento da resposta ao GET. Este mesmo
> problema não foi detectado por mim usando um NAT nativo do sistema
> operacional.
>
> Assim pergunto: ao modificar o endereço e porta de destino de um pacote,
> além de atualizar o IP e TCP/UDP checksum é preciso ajustar o SEQ/ACK
> destes pacotes? Pois segundo o que me consta, isso só é necessário se
> houver alguma mudança no payload (TCP), o que eu não estou fazendo. Se
> isto não tiver nada a ver, alguém poderia me apontar algumas sugestões
> sobre o que pode estar acarretando este problema?
>
> Agradeço antecipadamente,
>
> --fx



More information about the gter mailing list