Exile on Keyboard St. - Blog sur Linux et Debian

Aller au contenu | Aller au menu | Aller à la recherche

samedi 2 juin 2018

Chercher dans des fichiers de log avec lnav

Quand on développe, on passe beaucoup de temps à consulter et à chercher des informations dans les fichiers de logs des produits ou du système.

J'ai longtemps utilisé glogg et maintenant il me parait lourd et peu efficace.

lnav que je vais vous présenter maintenant est plus léger et s'avère très performant grâce à de nombreux raccourcis clavier.

Au lancement, on obtient le résultat suivant:

lnav.png

Vous constatez qu'on est au début du fichier. Pour naviguer dans le fichier, on peut utiliser:

  • g pour aller au début
  • G pour aller à la fin
  • Page up ou Backspace/ Page down ou Espace pour naviguer de page en page

Mais ce qu'il y a de commode, c'est que lnav permet d'aller à la prochaine erreur, en tappant 'e' ou au prochain warning en tappant 'w'.

De la même façon, 'E' vous positionne sur l'erreur précédente et 'W' sur le warning précédent.

On peut également naviguer dans le temps, c'est à dire que la touche 'o' vous fait avancer de 24h dans le fichier et 'O' le fait dans le sens inverse. Si l'intervalle recherché est de 24h, il faut utiliser respectivement 'd' ou 'D'.

lnav vous autorise aussi à rechercher un motif en tappant /<regexp>, les regular expressions acceptées étant les PCRE (Perl-Compatible Regular Expressions).

Autre fonctionnalité intéressante, on peut marquer une ligne pour la retrouver plus tard avec la touche 'm'. Ensuite l'appui sur les touches 'u' et 'U' permet de naviguer d'une ligne marquée à l'autre. C'est très utile pour débugger.

Bref, lnav devient rapidement un outil indispensable du quotidien du développeur, et le fait qu'il soit utilisable directement dans un terminal est un atout non négligeable.

Je n'ai évidemment pas décrit ici tout ce qu'on faire avec, pour découvrir d'autres fonctionnalités, vous pouvez utiliser la touche '?' au démarrage de lnav.

dimanche 25 février 2018

10 commandes nmap pour mieux connaître votre réseau

nmap est un outil d'exploration réseau permettant de découvir les machines présentes ainsi que les services qu'elles utilisent.

On va donc voir quelles sont les commandes dont on peut avoir besoin au quotidien en la matière.

1. Lister les machines à explorer

Cette commande va se contenter de lister les machines que nmap explorerait sur le réseau en question. La valeur 24 indique que les trois premières valeurs sont fixes et que seule la dernière va varier.

nmap -sL 192.168.0.1/24

La fin de cette commande affiche donc:

Nmap scan report for 192.168.0.249
Nmap scan report for 192.168.0.250
Nmap scan report for 192.168.0.251
Nmap scan report for 192.168.0.252
Nmap scan report for 192.168.0.253
Nmap scan report for 192.168.0.254
Nmap scan report for 192.168.0.255
Nmap done: 256 IP addresses (0 hosts up) scanned in 0.10 seconds

2. Scanner les machines du réseau

On va maintenant passer la même commande en faisant un ping sur chaque machine.

nmap -sP 192.168.0.1/24

Et le résultat est le suivant:

Starting Nmap 6.47 ( http://nmap.org ) at 2018-02-25 09:56 CET
Nmap scan report for 192.168.0.72
Host is up (0.00036s latency).
Nmap scan report for 192.168.0.27
Host is up (0.00049s latency).
Nmap scan report for 192.168.0.254
Host is up (0.0058s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 3.25 seconds

Il y a deux machines sur le réseau, ou une machine connectée à la fois en filaire et en Wi-Fi, en plus de la Box Internet.

3. Scanner une machine

nmap 192.168.0.72

Starting Nmap 6.47 ( http://nmap.org ) at 2018-02-25 10:14 CET
Nmap scan report for 192.168.0.72
Host is up (0.00016s latency).
Not shown: 997 closed ports
PORT    STATE SERVICE
22/tcp  open  ssh
80/tcp  open  http

Nmap done: 1 IP address (1 host up) scanned in 0.44 seconds

La commande nmap nous affiche les ports à l'écoute ainsi que les services correspondants.

4. Scanner une machine plus en détail

On peut en plus activer la détection du système d'exploitation et des versions dans la commande précédente an ajoutant le flag -A:

nmap -A 192.168.0.72

Starting Nmap 6.47 ( http://nmap.org ) at 2018-02-25 10:24 CET
Nmap scan report for 192.168.0.72
Host is up (0.00016s latency).
Not shown: 998 closed ports
PORT   STATE SERVICE VERSION
22/tcp open  ssh     OpenSSH 6.7p1 Debian 5+deb8u4 (protocol 2.0)
|_ssh-hostkey: ERROR: Script execution failed (use -d to debug)
80/tcp open  http    Apache httpd 2.4.10 ((Debian))
|_http-title: Index of /
Service Info: OS: Linux; CPE: cpe:/o:linux:linux_kernel

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 6.21 seconds

Ici on a "scanné" la machine sur laquelle on est. Les versions des services ssh et http nous disent que l'OS est Debian.

Si maintenant on scanne la Box Internet:

nmap -A 192.168.0.254

Starting Nmap 6.47 ( http://nmap.org ) at 2018-02-25 10:25 CET
Nmap scan report for 192.168.0.254
Host is up (0.0059s latency).
Not shown: 990 closed ports
PORT     STATE SERVICE     VERSION
21/tcp   open  ftp         Freebox ftpd
| ssl-cert: Subject: commonName=542vabcn.fbxos.fr/countryName=FR
| Not valid before: 2018-01-04T18:42:00+00:00
|_Not valid after:  2018-04-04T17:47:00+00:00
|_ssl-date: 2089-01-02T17:11:25+00:00; +70y312d7h28m31s from local time.
80/tcp   open  http        nginx
|_http-methods: No Allow or Public header in OPTIONS response (status code 200)
| http-robots.txt: 1 disallowed entry 
|_/
|_http-title: Freebox OS
139/tcp  open  netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
443/tcp  open  http        nginx
|_http-methods: No Allow or Public header in OPTIONS response (status code 400)
|_http-title: 400 The plain HTTP request was sent to HTTPS port
| ssl-cert: Subject: commonName=542vabcn.fbxos.fr/countryName=FR
| Not valid before: 2018-01-04T18:42:00+00:00
|_Not valid after:  2018-04-04T17:47:00+00:00
|_ssl-date: 2054-09-05T18:09:35+00:00; +36y192d8h26m40s from local time.
| tls-nextprotoneg: 
|   spdy/3.1
|_  http/1.1
445/tcp  open  netbios-ssn Samba smbd 3.X (workgroup: WORKGROUP)
554/tcp  open  rtsp        Freebox rtspd 1.2
| rtsp-methods: 
|_  DESCRIBE, OPTIONS, SETUP, TEARDOWN, PLAY, PAUSE
2020/tcp open  tcpwrapped
5000/tcp open  upnp?
8090/tcp open  http        nginx
|_http-methods: No Allow or Public header in OPTIONS response (status code 405)
|_http-title: Freebox :: Probl\xC3\xA8me de connexion Internet
9091/tcp open  http        nginx
|_http-methods: No Allow or Public header in OPTIONS response (status code 405)
|_http-title: 404 Not Found
1 service unrecognized despite returning data. If you know the service/version, please submit the following fingerprint at http://www.insecure.org/cgi-bin/servicefp-submit.cgi :
SF-Port5000-TCP:V=6.47%I=7%D=2/25%Time=5A9284F5%P=x86_64-pc-linux-gnu%r(Ge
SF:nericLines,25,"\0\0\0P/1\.0\x20400\x20Bad\x20Request\r\nCSeq:\x200\r\n\
SF:r\n")%r(GetRequest,25,"\0\0\0P/1\.0\x20400\x20Bad\x20Request\r\nCSeq:\x
SF:200\r\n\r\n")%r(RTSPRequest,77,"RTSP/1\.0\x20200\x20OK\r\nPublic:\x20OP
SF:TIONS,\x20ANNOUNCE,\x20SETUP,\x20RECORD,\x20SET_PARAMETER,\x20GET_PARAM
SF:ETER,\x20FLUSH,\x20TEARDOWN,\x20POST,\x20GET\r\n\r\n")%r(HTTPOptions,25
SF:,"\0\0\0P/1\.0\x20400\x20Bad\x20Request\r\nCSeq:\x200\r\n\r\n")%r(Help,
SF:25,"RTSP/1\.0\x20400\x20Bad\x20Request\r\nCSeq:\x200\r\n\r\n")%r(FourOh
SF:FourRequest,25,"\0\0\0P/1\.0\x20400\x20Bad\x20Request\r\nCSeq:\x200\r\n
SF:\r\n")%r(LPDString,25,"RTSP/1\.0\x20400\x20Bad\x20Request\r\nCSeq:\x200
SF:\r\n\r\n")%r(SIPOptions,25,"\0\0\0ept:\x20application/sdp\0\0\0\0\0\0o\
SF:0\0\0\r\n\r\n");
Service Info: Device: media device

Host script results:
|_nbstat: NetBIOS name: FREEBOX, NetBIOS user: <unknown>, NetBIOS MAC: <unknown> (unknown)
| smb-os-discovery: 
|   OS: Unix (Samba 3.0.37)
|   NetBIOS computer name: 
|   Workgroup: WORKGROUP
|_  System time: 2018-02-25T09:41:53+00:00
| smb-security-mode: 
|   Account that was used for smb scripts: guest
|   User-level authentication
|   SMB Security: Challenge/response passwords supported
|_  Message signing disabled (dangerous, but default)
|_smbv2-enabled: Server doesn't support SMBv2 protocol

Service detection performed. Please report any incorrect results at http://nmap.org/submit/ .
Nmap done: 1 IP address (1 host up) scanned in 1041.61 seconds

On obtiens le même genre d'informations, la Box Internet ayant elle beaucoup plus de ports ouverts.

5. Accélérer le scan de la machine

Le précédent scan ayant duré 17mn, on va essayer d'obtenir un résultat plus rapidement en changeant la politique de temporisation de nmap:

nmap -A -T5 192.168.0.254

Le scan ne nous prends maintenant que 90 secondes en donnant quasiment les même résultats.

On verra dans un prochain billet, 5 autres commandes nmap pour scanner votre réseau.

samedi 2 décembre 2017

Installer Firefox Quantum rapidement avec liar

La fondation Mozilla a publié il y a quinze jours la nouvelle version de son navigateur, Firefox Quantum, et vous avez sans doute constaté comme quoi que la navigation est plus rapide et plus fluide avec cette nouvelle version du Panda roux.

Depuis le 14 novembre, Firefox Quantum a déjà été patché et sa version est passée de 57.0 à 57.0.1.

Sous Lnux, Firefox Quantum peut s'installer "à la main" en téléchargeant la "tarball" puis en allant l'extraire dans un répertoire de votre choix.

On va plutôt aujourd'hui l'installer avec liar, qui passera toutes ces commandes manuelles pour vous. Je passe ici sur l'installation de Linux Installer for ARchives qui est détaillée dans le README du projet.

L'installation se passe en une ligne:

liar -l -p firefox install firefox-quantun https://download-installer.cdn.mozilla.net/pub/firefox/releases/57.0.1/linux-x86_64/en-US/firefox-57.0.1.tar.bz2
Installing 'firefox-quantun' from 'https://download-installer.cdn.mozilla.net/pub/firefox/releases/57.0.1/linux-x86_64/en-US/firefox-57.0.1.tar.bz2' to '/home/debian/Programs/firefox-quantun'
--2017-12-02 07:40:05--  https://download-installer.cdn.mozilla.net/pub/firefox/releases/57.0.1/linux-x86_64/en-US/firefox-57.0.1.tar.bz2
Résolution de download-installer.cdn.mozilla.net (download-installer.cdn.mozilla.net)… 54.192.76.53
Connexion à download-installer.cdn.mozilla.net (download-installer.cdn.mozilla.net)|54.192.76.53|:443… connecté.
requête HTTP transmise, en attente de la réponse… 200 OK
Taille : 53478276 (51M) [application/x-tar]
Sauvegarde en : « /home/debian/.liar_cache/firefox-57.0.1.tar.bz2 »

/home/debian/.liar_cache/firefox- 100%[=============================================================>]  51,00M  10,9MB/s   ds 4,7s   

2017-12-02 07:40:09 (10,9 MB/s) — « /home/debian/.liar_cache/firefox-57.0.1.tar.bz2 » sauvegardé [53478276/53478276]

Extracting '/home/debian/.liar_cache/firefox-57.0.1.tar.bz2' to '/home/debian/Programs/firefox-quantun'
Creating link: '/home/debian/bin/firefox'

La commande firefox se trouve alors automatiquement dans le PATH à condition que ~/bin y soit.

On peut aussi installer Firefox après l'avoir téléchargé:

Intallation de Firefox Quantum

Vous noterez que dans l'installation avec téléchargement, wget est très verbeux bien qu'aucune option ne le demande à la commande liar ... C'est un petit bug qu'il faudra corriger !

- page 1 de 10