pense-bête de bruno sanchiz

Accueil > Linux > Internet - Réseaux > commandes réseaux en vrac

commandes réseaux en vrac

Publié le 3 juillet 2017, dernière mise-à-jour le 6 avril 2025, > 62 visites, >> visites totales.

programmes à installer : apt-get install bind9-dnsutils bind9-host ethtool fail2ban ifupdown iproute2 iptables knot-dnsutils lsof net-tools nmap rcpbind tcpdump whois wireshark-qt

ip, ifquery, host, route, dig, kdig, lsof, netstat, nmap, iptables, wireshark, whois, tcpdump


Liste des ip d’un réseau local ; nmap -sn 192.168.1.0/24

anciennes commandes net-tools commandes iproute2 de remplacement
arp ip n (ip neighbor)
ifconfig ip a (ip addr), ip link, ip -s (ip -stats)
iptunnel ip tunnel
nameif ip link
netstat ss, ip route (pour netstat -r), ip -s link (pour netstat -i), ip maddr (pour netstat -g)
route ip r (ip route)

changer une adresse ip

sudo ifconfig eth0 192.168.1.13
sudo ip addr add 192.168.56.21/24 dev eth1

détruire une adresse ip

sudo ip addr del 192.168.56.21/24 dev eth1

ip a

1: lo: <LOOPBACK,UP,LOWER_UP> mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000
    link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00
    inet 127.0.0.1/8 scope host lo
       valid_lft forever preferred_lft forever
    inet6 ::1/128 scope host 
       valid_lft forever preferred_lft forever
FIL :
2: eth0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UP group default qlen 1000
    link/ether aa:bb:cc:dd:ee:ff brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.100/24 brd 192.168.1.255 scope global eth0
       valid_lft forever preferred_lft forever
WIFI :
2: wlp4s0: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc mq state UP group default qlen 1000
    link/ether aa:00:11:22:33:44 brd ff:ff:ff:ff:ff:ff
    inet 192.168.1.46/24 brd 192.168.1.255 scope global dynamic noprefixroute wlp4s0
       valid_lft 26668sec preferred_lft 26668sec
    inet6 aaaa:bbbb:cccc:dddd:1111:2222:3333:4444/64 scope global dynamic noprefixroute 
       valid_lft 85988sec preferred_lft 85988sec
    inet6 fe80::5555:6666:7777:8888/64 scope link noprefixroute 
       valid_lft forever preferred_lft forever

ip -4 route ( remplace route -vn )

default via 192.168.1.254 dev eth0 onlink 
169.254.0.0/16 dev eth0 scope link metric 1000 
192.168.1.0/24 dev eth0 proto kernel scope link src 192.168.1.100 

ip -6 route ( pour IPV6 )

::1 dev lo proto kernel metric 256 pref medium
aaaa:bbbb:cccc:dddd::/64 dev wlp4s0 proto ra metric 601 pref medium
fe80::/64 dev wlp4s0 proto kernel metric 601 pref medium
default via fe80::1111:2222:3333:4444 dev wlp4s0 proto ra metric 601 pref medium

sudo ifquery eth0

address: 192.168.1.100
netmask: 255.255.255.0
gateway: 192.168.1.254
broadcast: 192.168.1.255

sudo ifup -a

allumer toutes les interfaces réseau définies dans /etc/network/interfaces qui ont la configuration auto

sudo ifconfig eth0

eth0: flags=4163<UP,BROADCAST,RUNNING,MULTICAST>  mtu 1500
        inet 192.168.1.100  netmask 255.255.255.0  broadcast 192.168.1.255
        ether aa:bb:cc:dd:ee:ff  txqueuelen 1000  (Ethernet)
        RX packets 1332076  bytes 1722271296 (1.6 GiB)
        RX errors 0  dropped 12  overruns 0  frame 0
        TX packets 653812  bytes 219610481 (209.4 MiB)
        TX errors 0  dropped 0 overruns 0  carrier 0  collisions 0

sudo route : Table de routage IP du noyau

Destination Passerelle Genmask Indic Metric Ref Use Iface
default 192.168.1.254 0.0.0.0 UG 0 0 0 eth0
link-local * 255.255.0.0 U 1000 0 0 eth0
192.168.1.0 * 255.255.255.0 U 0 0 0 eth0

host free.fr

free.fr has address 212.27.48.10
free.fr has IPv6 address 2a01:e0c:1::1
free.fr mail is handled by 10 mx1.free.fr.
free.fr mail is handled by 20 mx2.free.fr

.

dig free.fr

Interrogation de servers de nom ( DNS) : voir https://www.bortzmeyer.org/dns-sb.html
exemple :
dig @1.1.1.1 disclose.ngo
kdig +tls @2a09::   disclose.ngo
kdig +https=/dns-query @2001:910:800::12 sci-hub.se

donne entre autre le DNS ( SERVER : 192.168.1.254#53(192.168.1.254))

; <<>> DiG 9.11.5-P4-5.1+deb10u6-Debian <<>> free.fr
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 40693
;; flags: qr rd ra; QUERY: 1, ANSWER: 1, AUTHORITY: 0, ADDITIONAL: 1

;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 4096
;; QUESTION SECTION:
;free.fr.			IN	A

;; ANSWER SECTION:
free.fr.		64036	IN	A	212.27.48.10

;; Query time: 8 msec
;; SERVER: 192.168.1.254#53(192.168.1.254)
;; WHEN: ven. janv. 07 02:22:44 CET 2022
;; MSG SIZE  rcvd: 52

sudo lsof -i:22

regarder ce qui se passe sur un port

COMMAND  PID  USER   FD   TYPE DEVICE SIZE/OFF NODE NAME
sshd    2679  root    3u  IPv4  11626      0t0  TCP *:ssh (LISTEN)
sshd    2679  root    4u  IPv6  11628      0t0  TCP *:ssh (LISTEN)
ssh     6530 moi    3u  IPv4 491091      0t0  TCP ordi1:42424->192.168.1.20:ssh (ESTABLISHED)

sudo netstat -latuepn |egrep ":22|PID"

regarder ce qui se passe sur un port

Proto Recv-Q Send-Q Adresse locale          Adresse distante        Etat        Utilisatr  Inode      PID/Program name    
tcp        0      0 0.0.0.0:22              0.0.0.0:*               LISTEN      0          32857      1160/sshd           
tcp6       0      0 :::22                   :::*                    LISTEN      0          32859      1160/sshd  

tester les ports d’une ip

  • nmap -PN ip
  • sur android : à essayer
    • Wifi Analyzer par Kevin Yuan : trouve les réseaux
    • Net Scan par Nick Circelli : ping le réseau local
    • Network Discovery for Android par Aubort Jean-Baptiste

rpcinfo pour connaitre les programmes rpc : obsolète

  • rpcinfo -s : programme rpc enregistrés
    • résultat : 100000  2,3,4     local,udp,tcp,udp6,tcp6          portmapper  superuser    100024  1         tcp6,udp6,tcp,udp                status      107
  • rpcinfo -p : programmes rpc
    • résultat : 100000    4   tcp    111  portmapper    100000    3   tcp    111  portmapper    100000    2   tcp    111  portmapper    100000    4   udp    111  portmapper    100000    3   udp    111  portmapper    100000    2   udp    111  portmapper    100024    1   udp  39904  status    100024    1   tcp  37805  status


firewall : ip : bloquer débloquer

  • bloquer une ip : iptables -A INPUT -s 88.190.200.113 -j DROP
  • débloquer une ip : iptables -D INPUT -s 88.190.200.113 -j DROP
  • stats (Comment avoir les statistiques iptables sur les bloquages de packets ?) : iptables -L -v
  • bloquer en entrée une plage d’adresse IP : iptables -A INPUT -p tcp --dport 25 -m iprange --src-range 118.166.0.0-118.166.255.255 -j DROP

associer nom de domaine et ip :

  • host dindoun.lautre.net
  • whois dindoun.lautre.net

sudo wireshark -i eth0 -k

sudo tcpdump -i eth0 src net 192.168.0.100

sudo tcpdump -i eth0 src 192.168.0.175 and dst 192.168.0.1 and port 80 and tcp

tcpdump : option -XX When parsing and printing, in addition to printing the headers of each packet,
print the data of each packet, including its link level header, in hex and ASCII.

tcpdump : option -s0 Setting snaplen to 0 means use the required length to catch whole packets.

capturer un mot de passe FTP :
# tcpdump -XX -s0 -i eth0 tcp and port 21 | grep -A1 PASS

 Récupérer un cookie de session, d’un utilisateur authentifié sur un site web :
# tcpdump -XX -s0 -i eth0 port 80 | grep -i -A5 Cookie

 Capturer des emails envoyés sur le réseau (ici on prend une longueur de 20 lignes, à adapter selon la taille du message) :
# tcpdump -XX -s0 -i eth0 port 25 | grep -i -A20 From- capturer des conversations msn (longueur de 10 lignes à adapter aussi selon la taille du message) :
# tcpdump -XX -s0 -i eth0 port 1863 | grep -A10 "text/plain"

fail2ban

/etc/hosts

cat /etc/hosts.deny |grep -v "#"

ALL: .google.,.google,google.
SECURE_LOG = /var/log/auth.log
HOSTS_DENY = /etc/hosts.deny
PURGE_DENY = 
BLOCK_SERVICE  = sshd
DENY_THRESHOLD_INVALID = 5
DENY_THRESHOLD_VALID = 10
DENY_THRESHOLD_ROOT = 1
DENY_THRESHOLD_RESTRICTED = 1
WORK_DIR = /var/lib/denyhosts
SUSPICIOUS_LOGIN_REPORT_ALLOWED_HOSTS=YES
HOSTNAME_LOOKUP=YES
LOCK_FILE = /var/run/denyhosts.pid
ADMIN_EMAIL = root@localhost
SMTP_HOST = localhost
SMTP_PORT = 25
SMTP_FROM = DenyHosts <nobody@localhost>
SMTP_SUBJECT = DenyHosts Report
AGE_RESET_VALID=5d
AGE_RESET_ROOT=25d
AGE_RESET_RESTRICTED=25d
AGE_RESET_INVALID=10d
DAEMON_LOG = /var/log/denyhosts
DAEMON_SLEEP = 30s
DAEMON_PURGE = 1h
[bruno sanchiz]