Commandes Unix utiles et pratiques
Copie récursive avec tar
(cd /source && tar cfp - . ) | (cd /cible && tar xvpf -)
Obtenir des informations sur la partition
dumpe2fs -h /dev/hda3
Différences sur des sorties de commandes
diff<(command1)<(command2)
Recherche de root kits
rkhunter -c
chkrootkit
Conversion de flv vers avi avec mencoder
mencoder video.flv -ovc lavc -oac pcm -lavcopts vcodec=mpeg4 -o video.avi
Conversion flv vers mp3
ffmpeg -i fichier.flv -vn -ar 44100 -ac 2 -ab 192 -f mp3 fichierfin.mp3
Trier les répertoires par taille
du -sh * | sort -nr
du -s * | sort -rnk 1
Détection des ports ouverts
nmap -T 3 192.168.1.1
Détection de l’OS
nmap -O 192.168.1.1
Ecrire le résultat d’un scan dans un fichier
nmap -sS -sV -O 192.168.0.0/24 > output.txt
Analyse de trafic avec tcpdump
tcpdump -enttti pflog0
tcpdump -enttti pflog0 host 192.168.0.111
tcpdump -enttti pflog0 host 192.168.0.17 and tcp port 25
Sniff du port 80
ngrep -d "eth0" -t "^(GET|POST)" "tcp and port 80"
Dump d’une base MySQL
mysqldump --add-drop-table -h localhost -u USERNAME -p DATABASENAME | bzip2 -c > machine.sql.bz2
Restauration d’une base MySQL
zip2 -d machine.sql.bz2
mysql -h localhost -u USERNAME -p DATABASENAME < machine.sql
Tester la vitesse de lecture du disque
hdparm -Tt /dev/sdc
Démarrer un serveur en Python
python -m SimpleHTTPServer 8080
Créer un patch sur un fichier
diff -uN file file.new > mypatch
Créer un patch sur un dossier
diff -ruN directory/ directory.new/ > mypatch
Appliquer un patch sur un fichier
patch < mypatch
Appliquer un patch sur un dossier
patch -R < mypatch
Observer un répertoire
watch ls
Observer les connexions
watch -n1 -d 'netstat -an | grep ESTABLISHED'
Effacement définitif d’un fichier
shred -f -v -z -u myfile
Création d’un tunnel ssh
ssh - tunnel ssh user@serveur -C -N -D 8080
Créer une image sur le réseau avec netcat
Sur l’hôte :
nc -l -p 2000 > image.dsk
Sur le PC
dd if=/dev/sda | nc hote 2000
Email en ligne de commande
echo | mutt -s "bkprooter" -a siteCUSTOM.tgz -- robert@aol.com
Screencast
recordmydesktop -x 0 -y 0 --width=1920 --height=1080 --fps=25
Créer un transfert de données entre 2 flux TCP avec SOCAT
socat TCP4-LISTEN:www TCP4:www.domain.org:www
Ecrire dans un fichier les données reçues sur un port
socat -u TCP4-LISTEN:3334,reuseaddr,fork OPEN:/tmp/in.log,creat,append
Générer les clés SSH
ssh-keygen -t rsa
Puis
antec $ scp ~/.ssh/id_rsa.pub votrelogin@xyz.org:~/.ssh/id_rsa.pub.tmp
antec $ ssh votrelogin@xyz.org
shoota $ cat ~/.ssh/id_rsa.pub.tmp >>~/.ssh/authorized_keys
shoota $ rm ~/.ssh/id_rsa.pub.tmp
Les options courantes de MOUNT
-a : Monter tous les systèmes de fichier déclarés dans le fichier /etc/fstab
-t : Précise le type de fichier à monter
-o : Ajouter une option.
Options adjointes à les plus fréquentes :
auto : Permet d’être monté par -a
async : Les entrées/sorties sur le système de fichiers seront asynchrones
defaults : Utilise les options rw, suid, dev, exec, auto, nouser, et async.
dev : Interprète les fichiers spéciaux de périphériques du système présent dans /dev/
exec : Permet l’exécution de fichiers binaires du système monté
noauto : Empêche d’être monté avec -a
nodev : Ne pas interpréter les fichiers spéciaux de périphériques du système
noexec : Empêche l’exécution de fichiers binaires du système monté
nouser : Ne pas autoriser d’autres utilisateurs que root (ou sudo) à monter le système de fichiers (comportement par défaut)
ro : Monte le système en lecture seule
rw : Monte le système en lecture et écriture
suid : Prend en compte les bits SetUID ou SetGID du système monté
user : Permet aux utilisateurs ordinaires à monter et démonter le système de fichiers (implique noexec, nosuid, et nodev sauf si surchargées)
Les raccourcis du mode console
Déplacement
Ctrl + a : aller au début de la ligne
Ctrl + e : aller à la fin de la ligne
Alt + b : se déplacer mot par mot dans la ligne de commande en arrière (b pour backward)
Alt + f : se déplacer mot par mot dans la ligne de commande en avant (f pour forward)
Ctrl + xx : positionner le curseur au début du mot ou à la fin
Ctrl + XL : position 69 (moyen, moyen…)
Couper / Coller
Ctrl + k : couper la chaîne du curseur jusqu’à la fin de la ligne
Ctrl + u : couper la chaîne du curseur jusqu’au début de la ligne
Ctrl + w : couper le mot avant le curseur
Ctrl + y : coller une chaîne
Modification
Ctrl + t : inverser la position des deux caractères avant le curseur
Alt + shift + t : inverser la position des deux mots avant le curseur
Alt + shift + c : mettre une lettre en majuscule
Alt + shift + l : mettre un mot en minuscule (l pour lowercase)
Alt + shift + u : mettre un mot en majuscule (u pour uppercase)
Alt + shift + . : réécrire le paramètre de la dernière commande
Divers
Ctrl + l : effacer le contenu de l’écran
Ctrl + _ : annuler la dernière modification
Ctrl + c : arrêter la commande en cours
Ctrl + z : interrompt temporairement un processus, qui peut être relancé avec la commande fg (au premier plan) ou bg (en arrière-plan)
Ctrl + d : quitter le shell en cours
Ctrl + r : permet de rechercher une commande dans l’historique de la console