linux:network-tools

Ceci est une ancienne révision du document !


Outils réseaux

netstat est dans le paquet net-tools.

netstat -tnlp
  • -t: TCP
  • -n: ne pas faire de résolution DNS
  • -l: lister les ports
  • -p: affiche le programme associé, nécessaire d’exécuter en tant que root

Le remplaçant de netstat est ss, l'équivalent de la commande ci-dessus est :

ss -lapten
ss -tn

Installer le paquet net-tools

Afficher la table ARP

sudo arp
sudo arp -a

Directement avec la commande ip :

ip neighbor
arpspoof -i net1 -c both -t 10.2.0.3 -r 10.2.0.2

Dans le paquet dsniff.

tcpdump -i net1 -X -vvv port 143

Paramètres:

  • -X: décode les paquets émis/reçus en hexa/ASCII

Écoute sur le port 80

sudo netcat -l -p 80

Écoute sur le port 80 en restant interactif:

sudo netcat -kl 80

Ne pas envoyer de CRLF lors de la pression du Enter:

nc -C ...

ou

echo -en "GET / HTTP/1.0\r\n\r\n" | nc adresse port

Code Python pour interagir avec netcat (Source):

import socket
 
class Netcat:
 
    """ Python 'netcat like' module """
 
    def __init__(self, ip, port):
 
        self.buff = ""
        self.socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        self.socket.connect((ip, port))
 
    def read(self, length = 1024):
 
        """ Read 1024 bytes off the socket """
 
        return self.socket.recv(length)
 
    def read_until(self, data):
 
        """ Read data into the buffer until we have data """
 
        while not data in self.buff:
            self.buff += self.socket.recv(1024)
 
        pos = self.buff.find(data)
        rval = self.buff[:pos + len(data)]
        self.buff = self.buff[pos + len(data):]
 
        return rval
 
    def write(self, data):
 
        self.socket.send(data)
 
    def close(self):
 
        self.socket.close()

Installer le paquet smbclient.

Requêter les partages d'un serveur:

smbclient //ip/ -L

Ouvrir un shell dans un partage:

smbclient //ip/partage

Dans ce shell, les commandes cd, ls, put, get sont disponibles.

L'option -N permet de s'authentifier de façon anonyme.

Avec mount, installer le paquet cifs-utils:

sudo mount -t cifs -o guest,iocharset=utf8 //192.168.12.1/home essai

Entre deux machines d'un réseau local

Installer sur les deux machines le paquet iperf.

Sur le serveur :

iperf -s

Sur le client :

iperf -c <ip du serveur>

Faire un speedtest

Source

pip3 install speedtest-cli
python3 -m speedtest

Ou bien juste installer le paquet speedtest-cli, puis :

speedtest

Activer le wake-on-LAN

Il faut commencer par l'activer dans le BIOS.

Pour vérifier qu'il est activé (commande fournie par le paquet éponyme) :

sudo ethtool eth0

La ligne Wake-on doit avoir la valeur g (et pas d).

Pour l'activer, ajouter au fichier /etc/network/interfaces :

iface enp8s0 inet manual
	up /sbin/ethtool -s $IFACE wol g

Il faut s'assurer que l'activation survit au reboot.

Démarrer une machine

En root, avec la commande etherwake (fournie par le paquet éponyme), il suffit de connaître l'adresse MAC de l'interface à qui il faut envoyer le paquet magique :

sudo etherwake $addr_mac

Par défaut, etherwake envoie le message par l'interface locale nommée eth0, il est possible de préciser un autre nom avec le paramètre -i.

  • linux/network-tools.1726932470.txt.gz
  • Dernière modification : 2024/09/21 17:27
  • de phsw