Outils linux en ligne de commande

Top - trouver les processus "ininterruptibles"

Trouver les processus ininterruptible qui font monter le load average sans qu'il y ait de charge CPU ou mémoire apparente.

top -b -n 1 | awk '{if (NR <=7) print; else if ($8 == "D") {print; count++} } END {print "Total status D: "count}'

(ou option "i" dans top). Les processus qui refusent les interruptions CPU (donc empêche les autres de prendre la main) sont marqués "D" dans l'affichage de top.

Trouver l'adresse IP externe avec ou sans curl

Pour un serveur NATté (adresse IP locale derrière un firewall), l'adresse de sortie est soit celle du firewall soit une adresse d'OUTBOUND qui lui a été affectée.

Pour la connaitre, divers site propose ce service :

curl ifconfig.me
curl ipaddr.pub
curl https://www.google.com/search?q=what+is+my+ip+address -s | grep -oE "\b([0-9]{1,3}.){3}[0-9]{1,3}\b" -m1
curl -s http://ipecho.net/plain
curl -s http://whatismyip.akamai.com

Si curl n'est pas disponible sur un serveur, si on ne peut pas l'installer, essayer :

wget -qO- ipaddr.pub/cli
wget -qO- http://ipecho.net/plain
wget -qO- icanhazip.com
dig @ns1.google.com TXT o-o.myaddr.l.google.com +short
dig +short myip.opendns.com @resolver1.opendns.com
host myip.opendns.com resolver1.opendns.com | grep -m2 -oE "\b([0-9]{1,3}.){3}[0-9]{1,3}\b" | tail -n1
nslookup -query=TXT o-o.myaddr.l.google.com ns1.google.com | grep -m2 -oE "\b([0-9]{1,3}.){3}[0-9]{1,3}\b" | tail -n1
nslookup myip.opendns.com resolver1.opendns.com | grep -m2 -oE "\b([0-9]{1,3}.){3}[0-9]{1,3}\b" | tail -n1

Screen - retrouver le scrolling

Ajouter les lignes suivante à ~/.screenrc :

# Enable mouse scrolling and scroll bar history scrolling
termcapinfo xterm* ti@:te@

Magique !

TLS 1.2 avec curl ou php-curl - SSL - Cipher

Problème : certains sites/API réclament TLS1.2 pour les échanges (exemple : Paypal à partir du 30/06/2018).
Par défaut sur CentOS7, si openssl est à jour (>1.0.1) ainsi que curl et libcurl, ils doivent utiliser tls 1.2 par défaut.
Si ce n'est pas le cas (test : curl https://tlstest.paypal.com), les mettre à jour ainsi que NSS:

yum update nss curl libcurl

Quelques commandes utiles :

Valider les protocoles utilisés par curl :

curl -v https://www.howsmyssl.com/a/check

Vérifier les protocoles acceptés par un site :

openssl s_client -connect www.google.com:443
- ou -
nmap --script ssl-enum-ciphers -p 443 www.google.com