Commandes réseau

Les commandes sont présentées en considérant successivement

Sommaire

1 - Commandes réseau

Deux familles d'outils de configuration réseau "bas-niveau" coexistent à ce jour :

Ces deux outils peuvent être installés et utilisés simultanément, toutefois, dans ce qui suit, les commandes utilisées sont celles de iproute2 et iw.

Les commandes nslookup et dig sont fournies par le paquet dnsutils.

La commande host est fournie par le paquet bind9-host.

Dans ce document

2 - Machine non raccordée à un réseau

2.1 - Liste des périphériques réseau

$ ls -la /sys/class/net
total 0
drwxr-xr-x 2 root root 0 mars 3 14:29 .
drwxr-xr-x 40 root root 0 mars 3 14:29 ..
lrwxrwxrwx 1 root root 0 mars 3 14:29 eth0 -> ../../devices/pci0000:00/0000:00:03.0/net/eth0
lrwxrwxrwx 1 root root 0 mars 3 14:29 lo -> ../../devices/virtual/net/lo
lrwxrwxrwx 1 root root 0 févr. 15 23:59 usb0 -> ../../devices/pci0000:00/0000:00:1d.7/usb0/1-3/1-3:1.0/net/usb0

Le noyau a reconnu :

2.2 - Caractéristiques des périphériques réseau

Les informations obtenues ci-dessus permettent d'identifier les périphériques et les drivers associés :

$ lspci -s 00:03.0 -k
00:03.0 Ethernet controller: Intel Corporation 82540EM Gigabit Ethernet Controller (rev 02)
Subsystem: Intel Corporation PRO/1000 MT Desktop Adapter
Kernel driver in use: e1000

Le composant est un contrôleur ethernet Intel Pro/1000MT, son driver e1000 est chargé

$ lsusb -s 1:
Bus 001 Device 05: ID 04e8:6860 Samsung Electronics Co., Ltd GT-I9100 Phone [Galaxy S II], GT-I9300

Le composant est un téléphone (modem) Samsung GT-I9300

$ lsusb -t |grep -A3 "Bus 1" |grep "Dev 5" |grep "If 1"
|__ Port 3: Dev 5, If 1, Class=CDC Data, Driver=rndis_host, 480M

Le driver est rndis_host

2.3 - Interfaces réseau

$ ip link
1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN mode DEFAULT group default
link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:c6:f9:5b brd ff:ff:ff:ff:ff:ff

La machine dispose de :

$ ip link show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP mode DEFAULT group default qlen 1000
link/ether 08:00:27:c6:f9:5b brd ff:ff:ff:ff:ff:ff
# ip link set dev eth0 up

# ip link set dev eth0 down

2. 4 - Adresses mac

$ cat /sys/class/net/eth0/address
00:24:8c:88:34:05

$ ip link show eth0|grep link |awk '{print $2;exit}'
00:24:8c:88:34:05
$ macchanger eth0
Current MAC: c8:60:00:b9:28:aa (ASUSTek COMPUTER INC.)
Permanent MAC: c8:60:00:b9:28:aa (ASUSTek COMPUTER INC.)
# macchanger -a eth0
Current MAC: c8:60:00:b9:28:aa (ASUSTek COMPUTER INC.)
Permanent MAC: c8:60:00:b9:28:aa (ASUSTek COMPUTER INC.)
New MAC: 00:c0:90:42:99:f7 (PRAIM S.R.L.)

2.5 - Alias réseaux

$ cat /etc/networks
default 0.0.0.0
loopback 127.0.0.0
link-local 169.254.0.0

3 - Machine raccordée à un réseau privé

3.1 - Gestionnaires de réseau

Quelques gestionnaires de réseau et nom des services associés

État d'un gestionnaire

$ systemctl status wicd
● wicd.service - LSB: Starts and stops Wicd
   Loaded: loaded (/etc/init.d/wicd)
   Active: active (running) since jeu. 2016-03-03 12:19:48 CET; 4h 24min ago
   CGroup: /system.slice/wicd.service
           ├─6358 /usr/bin/python -O /usr/share/wicd/daemon/wicd-daemon.py
           ├─6362 /usr/bin/python -O /usr/share/wicd/daemon/monitor.py
           └─6755 /sbin/dhclient -v eth0

Contrôle d'un gestionnaire

# systemctl [start|stop|restart] networking

3.2 - Adresse ip

$ hostname -I
192.168.0.11
$ ip address show eth0
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
link/ether 08:00:27:c6:f9:5b brd ff:ff:ff:ff:ff:ff
inet 10.0.2.15/24 brd 10.0.2.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::a00:27ff:fec6:f95b/64 scope link
valid_lft forever preferred_lft forever

L'interface eth0 a pour adresse 10.0.2.15.

$ ip -4 a show eth0 |grep inet |awk '{print $2;exit}'
10.0.2.15/24er
# ip address add 192.168.1.13/16 dev eth0
# ip address del 192.168.1.15/16 dev eth0
# ip -s -s address flush dev eth0

3.3 - Routes

$ ip route
default via 10.0.2.2 dev eth0
10.0.2.0/24 dev eth0 proto kernel scope link src 10.0.2.15
169.254.0.0/16 dev eth0 scope link metric 1000

Dans cet exemple, trois routes sont indiquées, toutes pour la même interface (eth0) :

# ip route add default via 10.0.2.2 dev eth0
# ip route add 10.0.2.0/24 src 10.0.2.15 dev eth0
# ip route flush 10.0.2.0/24 src 10.0.2.15 dev eth0
# ip -s -s route flush dev eth0
$ ip route get 1 |awk '{print $3;exit}'
10.0.2.2
$ ip route show cache
# ip -s -s route flush cache

3.4 - Hôtes

$ cat /etc/hosts
127.0.0.1 localhost
127.0.1.1 buster

192.168.0.1 box
192.168.0.19 pi4e
192.168.0.20 pi4w
192.168.0.21 pi0w

# The following lines are desirable for IPv6 capable hosts
::1 localhost ip6-localhost ip6-loopback
ff02::1 ip6-allnodes
ff02::2 ip6-allrouters
$ nmap 192.168.1.0/24 -sn

Starting Nmap 6.47 ( http://nmap.org ) at 2016-02-22 22:31 CET
Nmap scan report for box (192.168.1.1)
Host is up (0.0036s latency).
Nmap scan report for debian (192.168.1.34)
Host is up (0.00044s latency).
Nmap scan report for HPC69D85 (192.168.1.39)
Host is up (0.011s latency).
Nmap done: 256 IP addresses (3 hosts up) scanned in 2.37 seconds

3 machines sont présentes sur le réseau privé (en plus de la machine ayant servi à faire le test) - box, debian et HPC69D85 sont des alias définis dans le fichier hosts.

3.5 - arp

$ ip neigh
192.168.0.5 dev wlp0s20f3 lladdr b8:d9:4d:f4:fc:cd STALE # STALE=périmé
192.168.0.1 dev wlp0s20f3 lladdr b8:d9:4d:f4:fc:cc STALE

$ sudo arp
Adresse TypeMap AdresseMat Indicateurs Iface
192.168.0.5 ether b8:d9:4d:f4:fc:cd C wlp0s20f3
box ether b8:d9:4d:f4:fc:cc C wlp0s20f3
$ sudo ip -s -s neigh flush dev  wlp0s20f3
$ sudo ip -s -s neigh flush all purge les caches de toutes les interfaces
$ sudo arp-scan -l -I wlp0s20f3
Interface: wlp0s20f3, datalink type: EN10MB (Ethernet)
Starting arp-scan 1.9.5 with 256 hosts (https://github.com/royhills/arp-scan)
192.168.0.1 b8:d9:4d:f4:fc:cc (Unknown)
192.168.0.5 b8:d9:4d:f4:fc:cd (Unknown)
192.168.0.14 94:57:a5:0d:a9:5e Hewlett Packard
192.168.0.16 00:22:6c:69:35:c2 LinkSprite Technologies, Inc.

3 packets received by filter, 0 packets dropped by kernel
Ending arp-scan 1.9.5: 256 hosts scanned in 2.237 seconds (114.44 hosts/sec). 3 responded

$ ip neigh
192.168.0.5 dev wlp0s20f3 lladdr b8:d9:4d:f4:fc:cd STALE
192.168.0.1 dev wlp0s20f3 lladdr b8:d9:4d:f4:fc:cc REACHABLE

3.6 - Ports

$ nmap 192.168.1.1
Starting Nmap 6.47 ( http://nmap.org ) at 2016-02-22 22:37 CET
Nmap scan report for box (192.168.1.1)
Host is up (0.0026s latency).
Not shown: 996 filtered ports
PORT STATE SERVICE
53/tcp open domain
80/tcp open http
1287/tcp open routematch
49152/tcp open unknown
Nmap done: 1 IP address (1 host up) scanned in 5.26 seconds

4 ports sont ouverts sur la machine à l'adresse 192.168.1.1

$ nmap 127.0.0.1/8 -p 631 |grep -B3 open

Nmap scan report for localhost (127.0.0.1) Host is up (0.0010s latency). PORT STATE SERVICE 631/tcp open ipp .....