TrollabWikibashsockets

Description

Quand on exécute une commande utilisant un périphérique virtuel « /dev/tcp/$host/$port » bash ouvre une connexion TCP sur la socket correspondante.

Quand on exécute une commande utilisant un périphérique virtuel « /dev/udp/$host/$port » bash ouvre une connexion UDP sur la socket correspondante.

Exemples

Exemple 1

#!/bin/bash
# bash-ping.sh redirection de /dev/tcp pour tester un serveur
 
TCP_HOST=trollab.org
TCP_PORT=80                # Le Port 80 c'est du http
 
# Tentative de connection.
echo 'HEAD / HTTP/1.0' >/dev/tcp/${TCP_HOST}/${TCP_PORT}
 
RET=$?
 
echo -n 'Connection '
[ $RET -ne 0 ] && echo -n 'un'
echo 'successful. Exit code: '$RET
 
exit $RET

D'habitude les permissions standards sont :

chown root:sys /dev/udp /dev/tcp
chmod 666 /dev/udp /dev/tcp

Exemple 2

Accès plus rapide qu'un curl ou un get

exec 9<>/dev/tcp/www.trollab.org/80
echo -e "GET / HTTP/1.0\n" >&9
cat <&9

Fichier : wiki › bash › sockets - dernière modification le 05/10/2016 à 06:26 par Trollab


trollab.org, Since .... a long time ago, in a galaxy far, far away ...