D’après l’édition 11 des travaux d’Alain Leaper, 2018-04-10
Licence GPL
1. curl
: récupération sur le web
1.1. Option : -O
Placer les données reçues dans un fichier portant le même nom que la source (le chemin n’est pas pris en compte).
$ curl -O http://www.unsite.com/nom.iso (1)
1 | nom.iso sera placé dans le répertoire courant |
Exemple réel :
$ curl -O http://slackware.org.uk/slackware/slackware-13.1-iso/slackware-13.1-install-dvd.iso
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
0 4118M 0 8088k 0 0 246k 0 4:44:46 0:00:32 4:44:14 251k$
1.2. Option : -C -
À utiliser en cas de coupure, pour éviter un rechargement complet.
$ curl -C - -L -O http://www.unsite.com/nom.iso (1)
1 | Si l’option -L est absente on ne suis pas les redirections, mais on les télécharge. |
$ curl -C - -L -O http://cdimage.debian.org/debian-cd/6.0.3/i386/iso-cd/debian-6.0.3-i386-CD-1.iso
2. wget
(idem, mais en mieux ;-p)
$ wget http://www.unsite.com/nom.iso
$ wget --recursive --limit 1 http://… (1)
$ wget --recursive http://a.eu/p/ --no-directories --directory-prefix $d --accept JPG,JPEG (2)
$ wget http://a.eu/photos/{001..146}.jpg (3)
$ wget http://imgs.xkcd.com/clickdrag/{1..50}{n,s}{1..50}{w,e}.png (4)
$ wget --recursive --no-parent --wait 5 --random-wait --domains ${a.eu} --no-clobber http://a.eu (5)
$ wget -r -np -w 5 --random-wait -D ${a.eu} -nc http://a.eu (5)
$ doc_crawler.py --download http://a.eu (6)
$ wget --recursive --no-parent --wait 5 --random-wait --convert-links --page-requisites --domains ${a.eu} --no-clobber http://a.eu (7)
$ wget -r -np -w 5 --random-wait -k -p -D ${a.eu} -nc http://a.eu (7)
1 | Download all what wget finds one link away |
2 | Download all the JPG or JPEG photos from a web gallery |
3 | Download a series of photos. Series work everywhere : cp DSCN0{753..833}.JPG img/ |
4 | Download all the tiles from XKCD 1110 "Click and Drag" ; please don’t be rude |
5 | Download all a website, and avoid being banned going too fast |
6 | Same as above but only files are downloaded (PDF, ODT, ZIP…). More info here. |
7 | Downloand a full website to read it offline later, won’t download twice the same files if the operation is interrupted and restarted. |
Voir : Wget file selections.
3. doc_crawler.py
: récupération récursive sur le web
$ doc_crawler.py http://a.com > url.lst (1)
$ doc_crawler.py --download-files url.lst (2)
$ doc_crawler.py --download-file http://a.com/file.txt (3)
$ doc_crawler.py --accept=jpe?g$ --download --single-page --wait=3 https://a.com/a_page (4)
1 | Create a url.lst file that contains the links to all PDF, ODT, DOC, ZIP… files found while exploring recursively the pointed website |
2 | Download all the listed files (in a second time, after you checked that the list is good) |
3 | Download one by one the files that failed for instance |
4 | Download all the photos from a unique page web gallery, all found photos are directly downloaded on the fly, the random wait between two requests is never longer than 3 seconds |
Voir : doc_crawler.py
4. torsocks
: récupérations via Tor
5. md5sum
: vérification de l’intégrité d’un fichier
$ md5sum nomFichier (1)
1 | Affiche la somme de contrôle à l’écran. C’est pas ce qu’il y a de plus utile ! |
5.1. Redirection vers un fichier de contrôle
$ md5sum nomFichier > fichCtrl (1)
1 | Ce fichier (fichCtrl ) contient la checkcsum suivie du nom du fichier qui l’a générée c’est évidemment la même chose qu’à l’écran, mais c’est plus commode pour la vérification. |
5.2. Vérification d’un fichier à partir du fichier de contrôle créé précédemment
$ md5sum -w -c fichCtrl
nomFichier : OK (1)
1 | Si c’est bien le cas |
5.3. Utilisation lors d’un téléchargement
En plus du fichier à télécharger, les sites donnent en général un fichier de même nom avec une extension '.md5'. Celui-ci est utilisable en tant que fichier de contrôle, avec la commande :
$ md5sum -w -c xxxxx.md5
Il ne faut pas se reposer sur les hash md5 dès lors qu’il s’agit de la vérification de l’intégrité de fichiers liés à la sécurité.
5.4. sha1sum
: autre vérification de l’intégrité d’un fichier
À nouveau :
$ sha1sum nomFichier
Il ne faut pas non plus se fier sur les hash sha1 dès lors qu’il s’agit de la vérification de l’intégrité de fichiers liés à la sécurité.
5.5. sha256sum
, voire sha512sum
Il s’utilisent de la même manière que le précédents.
Il est préférable de les utiliser concernant la vérification de fichiers
impliqués dans la sécurité d’une communication (certificats de sécurité SSL,
clés de chiffrement PGP) car des attaques par collisions ont été réalisés, et
se démocratisent concernant md5sum
et sha1sum
.
Une collision, c’est quand deux fichiers différents obtiennent la même somme de contrôle. Il est alors possible de faire passer un certificat de sécurité pour un autre.