Does it save the data directly in the File you can give it with -w, or does it save when it's stopped?
Por padrão, ele grava os dados no arquivo quando o buffer da "biblioteca de E / S padrão" está sendo preenchido. Esses buffers são geralmente 4K ou 8K bytes, então, a cada 4K ou 8K bytes, ele grava os dados no arquivo. Quando está parado, escreve tudo o que ainda não foi escrito.
Em versões mais recentes do tcpdump (construídas com versões mais recentes do libpcap), o -U
flag pode ser usado; ele diz ao tcpdump para escrever cada pacote conforme ele é recebido, mesmo que o buffer ainda não esteja cheio.
So if it was writing on a usbstick, can I just unmount it and it would just save the whole data on the stick.
Não. Você deve parar o tcpdump primeiro, e então desmontar o pen drive, se você quiser que todos os dados estejam lá.
Além disso, a menos que você faça uma desmontagem forçada, o sistema pode se recusar a permitir que você desmonte o dispositivo USB, contanto que o tcpdump esteja gravando em um arquivo nesse dispositivo. Uma desmontagem forçada perderia dados no tcpdump e possivelmente perdem dados dentro dos buffers do sistema de arquivos do kernel.
And is there an option to just unplug it and still write the data on it.
Se você desconectar o pendrive enquanto o tcpdump estiver rodando, você perderá dados no tcpdump e possivelmente perderá dados dentro dos buffers do sistema de arquivos do kernel.
Se você rodar com -U
, então os únicos dados que você perderá no tcpdump são quaisquer dados que estejam no meio da escrita quando você desmontar ou desconectar o pendrive, mas você ainda perderá todos os dados que estão nos buffers do sistema de arquivos do kernel e ainda não foram gravados no pendrive.