[FUG-BR] divert(4)

Otacílio de Araújo Ramos Neto otacilio.neto em ee.ufcg.edu.br
Domingo Agosto 9 16:48:32 BRT 2009


2009/8/9 Wanderson Tinti <wanderson em bsd.com.br>

> >
> >
> > Na porta 2508 eu tenho um software que estou escrevendo que está ouvindo.
> > Ele realmente está ouvindo porque pega os pacotes que estão saindo. Não
> > importa eu ter negado acesso acima porque:
> >
> > " Divert sockets are similar to raw IP sockets, except that they can be
> >     bound to a specific divert port via the bind(2) system call.  The IP
> >     address in the bind is ignored; only the port number is significant.
>  A
> >     divert socket bound to a divert port will receive all packets
> diverted
> > to
> >     that port by some (here unspecified) kernel mechanism(s)."
> >
> > Já tirei as regras, já coloquei o divert como sendo a primeira. No
> > wireshark
> > eu vejo os pacotes saindo do IP 192.168.0.2 e chegando em 192.168.1.108
> sem
> > passar pela minha regra.
> > -------------------------
> > Histórico: http://www.fug.com.br/historico/html/freebsd/
> > Sair da lista: https://www.fug.com.br/mailman/listinfo/freebsd
> >
>
> Otacílio, boa tarde.
>
> Desculpe se eu não entendi bem, mas você consegui pelo menos obter uma
> copia
> dos pacotes pelo seu programa que escuta na porta 2508 usando a opção tee?
>
> ipfw add tee 2508 ip from any to any
>

Os pacotes que estão saindo para a internet estão passando pela porta 2508
sem problemas.  O programa pega os pacotes, faz o que tem que fazer e envia
novamente. Os pacotes chegam para o novo endereço na mesma máquina. O
problema é na hora da volta. Ao que parece, eles não estão passando pelo
divert porque os dois endereços são da mesma máquina. Quando o pacote deve
ir para internet funciona, mas quando os pacotes tem endereços da mesma
máquina como destino parece que as camadas de rede apenas entregam os
pacotes sem descer para as camadas mais baixas e passar pelo divert.


Mais detalhes sobre a lista de discussão freebsd