Em primeiro lugar, vejamos alguma informação teórica relevante em relação à criptografia:
Dados criptografados são uniformemente distribuídos, ou seja, possuem entropia máxima por símbolo;
Os dados brutos, não comprimidos são tipicamente redundantes, isto é, possuem entropia submáxima.
Suponha que você possa medir a entropia dos dados destinados para a sua interface de rede e também dos dados originados dela. Então você pode ver a diferença entre dados não criptografados e dados criptografados. Isso seria verdade mesmo que alguns dos dados no “modo criptografado” não estivessem criptografados --- como deve o cabeçalho IP mais externo para que o pacote seja roteável.
O teste de “Estatística Universal para Geradores de Bits Aleatórios” de Ueli Maurer (MUST ) mede rapidamente a entropia de uma amostra. Ele usa um algoritmo semelhante à compressão. O código é dado abaixo para uma variante que mede partes sucessivas (aproximadamente um quarto de megabyte) de um arquivo.
Também precisamos de uma maneira de capturar os dados brutos da rede. Um programa chamado tcpdump(1) permite que você faça isso, se você ativou a interface Berkeley Packet Filter no seu arquivo de configuração do kernel.
O comando:
tcpdump -c 4000 -s 10000 -w dumpfile.bin
irá capturar 4000 pacotes brutos no arquivo dumpfile.bin
. Até 10.000 bytes por pacote serão capturados neste exemplo.
All FreeBSD documents are available for download at https://download.freebsd.org/ftp/doc/
Questions that are not answered by the
documentation may be
sent to <freebsd-questions@FreeBSD.org>.
Send questions about this document to <freebsd-doc@FreeBSD.org>.