Olá pessoal.

Eu estou desenvolvendo um projeto aqui e em determinada parte eu preciso obter os domínios acessados em uma determinada porta. Por exemplo:

Há uma rede de computadores e um gateway para a Internet que é um servidor Linux. Vamos supor que eu esteja interessado na porta 6208. Quero que sempre que alguém acessar alguma coisa na Internet na porta 6208 o domínio acessado (não o IP) seja obtido.
Se alguém acessar eg.example.com:6208, por exemplo, eu quero obter eg.example.com.


Como posso obter isso no Linux? Eu postei essa dúvida no Server Fault e me sugeriram fazer análise de tráfego usando TCPDump ou Wireshark, analisando os pacotes com dst-port=6208 e obtendo deles o domínio. Porém, pelo que eu saiba, isso prejudica o desempenho da rede e esse projeto meu visa redes de alto tráfego, então não dá para resolver esse problema assim.

Aí me sugeriram lá no SF fazer o espelhamento do tráfego para outra máquina e nela fazer a análise, o que resolve o problema no desempenho da rede, mas isso requer que seja usado algum switch com suporte a esse recurso (conhecido como SPAN nos Cisco) e que se tenha mais outra máquina rodando Linux só para executar o Wireshark ou TCPDump. Não dá para o produto desse meu projeto exigir de seus utilizadores isso porque existem produtos similares no mercado e eles só exigem uma máquina rodando Linux, porém funcionam de forma diferente e pouco eficiente.

Eu havia pensando em desenvolver um daemon que ficasse analisando a saída do netstat em busca de conexões na porta e então pegasse dali o domínio, porém o que é mostrado nesse comando é o resultado do DNS reverso do IP, o que nem sempre corresponde aos registros A ou AAAA no DNS.

Então minha dúvida é: há alguma forma de eu obter os domínios das conexões estabelecidas na porta de meu interesse (a 6208 foi um exemplo)?

Essa é a única questão em aberto nesse projeto meu, é o que falta para eu iniciar a próxima etapa.

Obrigado pela atenção.
Até mais.