GNU/Linux >> Tutoriels Linux >  >> Linux

tcpdump - faire pivoter les fichiers de capture en utilisant -G, -W et -C

C'est parce que vous avez écrit -W 3 au lieu de -W 48 . Il y a cependant d'autres erreurs dans votre commande.

L'option -G signifie :

-G rotate_seconds

      Si spécifié, fait pivoter le fichier de vidage spécifié avec le -w option toutes les rotate_seconds secondes. Les fichiers de sauvegarde auront le nom spécifié par -w qui devrait inclure un format d'heure tel que défini par strftime(3). Si aucun format d'heure n'est spécifié, chaque nouveau fichier écrasera le précédent.

      Si utilisé en conjonction avec le -C option, les noms de fichiers prendront la forme de 'fichier '.

Depuis que vous avez écrit -G 3 , vous le ferez tourner toutes les 3 secondes, pendant que vous avez déclaré

...qui capture 30 minutes de données

De plus, le schéma de nommage est erroné :d'après ce qui précède,

Si utilisé en conjonction avec le -C option, les noms de fichiers prendront la forme de 'fichier '.

Il est donc inutile de spécifier le format de l'heure pour le nom.

De plus, le -C option n'a pas d'argument, alors que, selon la page de manuel, elle devrait :

tcpdump [ -AdDefIKlLnNOpqRStuUvxX ] [ -B buffer_size ] [ -c compter ]
[ -C file_size ] [ -G rotate_seconds ] [ -F fichier ][ -je interface ] [ -m module ] [ -M secrète ][ -r fichier ] [ -s snaplen ] [ -T tapez ] [ -w fichier ][ -W nombre de fichiers ][ -E [email protected] algo:secret,... ][ -y type de lien de données ] [ -z commande postrotate ] [ -Z utilisateur ] [ expression ]

La page de manuel indique :

-C

      Avant d'écrire un paquet brut dans un fichier de sauvegarde, vérifiez si le fichier est actuellement plus grand que file_size et, si c'est le cas, fermez le fichier de sauvegarde actuel et ouvrez-en un nouveau. Les fichiers de sauvegarde après le premier fichier de sauvegarde auront le nom spécifié avec le -w drapeau, avec un nombre après lui, commençant à 1 et continuant vers le haut. Les unités de file_size sont des millions d'octets (1 000 000 octets, et non 1 048 576 octets).

Vous devez donc spécifier -C 100 afin de produire des fichiers de 100 Mo.

Au final, votre commande devrait être :

tcpdump -i en0 -w /var/tmp/trace -W 48 -G 1800 -C 100 -K -n

Cela fera tourner les fichiers (de noms trace1, trace2, ...) de manière cyclique, avec une période de 48, soit toutes les 1800 secondes (=30 minutes) soit tous les 100 Mo, selon la première éventualité.


Développement de la réponse de flabdablet (modification de -G 1800 à -G 300 –rotation toutes les cinq minutes –juste à des fins de test),

tcpdump -i en0 -w /var/tmp/trace-%m-%d-%H-%M-%S-%s -W 3 -G 300

vous donnera %m=month , %d=day of month , %H=hour of day , %M=minute of day , %S=second of day , %s=millisecond of day , entraînant

/var/temp/trace-03-02-08-30-56-1520002568
/var/temp/trace-03-02-08-35-56-1520002568
/var/temp/trace-03-02-08-40-56-1520002568

Très utile pour organiser les traces de ces problèmes intermittents embêtants. De plus, si vous n'êtes pas root, vous pouvez vouloir sudo et bien sûr en faire un nohup :

sudo bash -c "nohup tcpdump -i en0 -w /var/tmp/trace-%m-%d-%H-%M-%S-%s -W 3 -G 300 &"

Il me semble que tout ce dont vous avez besoin est

tcpdump -i en0 -G 1800 -w /var/tmp/trace-%H-%M.pcap

Le spécificateur de format strftime que -G attend dans le nom de fichier -w n'a pas à représenter une date et une heure complètes. Avec juste %H et %M là-dedans, et un temps de rotation d'exactement une demi-heure, toute invocation donnée de tcpdump ne générera que deux valeurs %M différentes à une demi-heure d'intervalle, et les fichiers de trace d'hier seront écrasés à la même heure et les chiffres des minutes tournent à nouveau.


Linux
  1. Comment chiffrer et déchiffrer des fichiers et des répertoires à l'aide de Tar et OpenSSL

  2. Utilisation de sed pour rechercher et remplacer des fichiers texte sous Linux

  3. Comment envoyer et télécharger des fichiers à l'aide de Rsync

  4. wget vs curl :comment télécharger des fichiers à l'aide de wget et curl

  5. Recherche de fichiers exécutables à l'aide de ls et grep

Comment synchroniser des fichiers et des répertoires à l'aide de Zaloha.sh

Comment organiser et modifier des fichiers PDF à l'aide de PDF Arranger

Comment sauvegarder et restaurer des fichiers à l'aide de BorgBackup sous Linux

Comment sauvegarder des fichiers et des répertoires à l'aide de Rsync sous Linux

Utilisation de fichiers et de dossiers sur l'écran du bureau dans Ubuntu

Comment supprimer des fichiers et des répertoires à l'aide de la ligne de commande Linux