Voici un script pour lancer la capture depuis la Crontab en permanence :
#!/bin/bash
####################################################################################
# SYNOPSIS : est appelé depuis la crontab - pas d'options #
# #
# DESCRIPTION : #
# Fait une capture pendant 59minutes et 50 secondes #
# #
# DEPENDANCES : #
# /bin/bash #
# /bin/date #
# /bin/sync #
# /bin/rm #
# /usr/sbin/ntpdate #
# /usr/bin/tshark #
# /usr/bin/cvlc #
# /usr/bin/killall #
# /usr/bin/sudo #
# #
####################################################################################
# abonnement au flux
/usr/bin/sudo -u vgu /usr/bin/cvlc rtp://@233.49.82.73 &
# date de début de capture
/bin/date >> /root/capture.txt
# Capture avec Tshark
/usr/bin/tshark -i eth0 -n -s 68 -w /tmp/ramdisk0/capture_temporaire.pcap -a duration:175 -z rtp,streams >> /root/capture.txt
# désabonnement du flux
/usr/bin/killall vlc
# Supressions des fichiers et sync pour ne pas avoir une grosse écriture qui fait perdre des paquets au début du tcpdump
/bin/rm /tmp/ramdisk0/capture_temporaire.pcap
# MISE A L'HEURE (la mise à l'heure ne soit pas se faire pendant la capture)
/usr/sbin/ntpdate 194.158.119.97 >> /root/ntpdate.vg.log
# Ecriture du cache sur le disque pour que dump ne se produise pas pendant l'écriture
/bin/sync
# date de fin de capture
/bin/date >> /root/capture.txt
# Ecriture du cache sur le disque pour que dump ne se produise pas pendant l'écriture
/bin/sync
Le rendre exécutable : sudo chmod +x capture.sh
Pour mettre les préférence wireshark (2ème étape), il faut se connecter en root avec sudo -i pour avoir les variables environnement du root
La ligne à mettre dans la crontab :
lancement toutes les 3min : 0,3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48,51,54,57 * * * * /root/capture.sh
lancement toutes les 4min : 0,4,8,12,16,20,24,28,32,36,40,44,48,52,56 * * * * /root/capture.sh
#!/bin/bash
####################################################################################
# SYNOPSIS : est appelé depuis la crontab - pas d'options #
# #
# DESCRIPTION : #
# Fait une capture pendant 59minutes et 50 secondes #
# #
# DEPENDANCES : #
# /bin/bash #
# /bin/date #
# /bin/sync #
# /bin/rm #
# /usr/sbin/ntpdate #
# /usr/sbin/tcpdump #
# /usr/bin/tshark #
# /usr/bin/cvlc #
# /usr/bin/killall #
# /usr/bin/sudo #
# /usr/bin/sleep #
# #
####################################################################################
# abonnement au flux
/usr/bin/sudo -u vgu /usr/bin/cvlc rtp://@233.49.82.73 &
# date de début de capture
/bin/date >> /root/capture.txt
# Capture avec TCPdump
/usr/sbin/tcpdump -i eth0 -n -s 68 -w /tmp/ramdisk0/capture_temporaire.pcap host 233.49.82.73 &
/bin/sleep 3550
/usr/bin/killall -s INT tcpdump
# désabonnement du flux
/usr/bin/killall -s INT vlc
# Post-traitement avec Tshark
/usr/bin/tshark -n -r /tmp/ramdisk0/capture_temporaire.pcap -q -z rtp,streams >> /root/capture.txt
# Supressions des fichiers et sync pour ne pas avoir une grosse écriture qui fait perdre des paquets au début du tcpdump
/bin/rm /tmp/ramdisk0/capture_temporaire.pcap
# MISE A L'HEURE (la mise à l'heure ne soit pas se faire pendant la capture)
/usr/sbin/ntpdate 194.158.119.97 >> /root/ntpdate.vg.log
# Ecriture du cache sur le disque pour que dump ne se produise pas pendant l'écriture
/bin/sync
# date de fin de capture
/bin/date >> /root/capture.txt
# Ecriture du cache sur le disque pour que dump ne se produise pas pendant l'écriture
/bin/sync