Главная / Сети

🌐 Сети

Диагностика, DNS, маршрутизация, захват трафика и сканирование портов.

📡ping

  • обычный пинг ping host
  • ограничить число пакетов ping -c 5 host
  • интервал между пакетами, сек ping -i 2 host
  • без резолва обратных имён ping -n host
  • звук при получении ответа ping -a host
  • сообщать если ответа нет ping -O host
  • кол-во + таймаут ответа + общий лимит ping -c 5 -W 2 -w 10 host
  • пинг по IPv6 в локальном сегменте ping -6 ff02::1%eth0

🛰️traceroute / mtr

  • трассировка до хоста traceroute host
  • без резолва имён traceroute -n host
  • таймаут ожидания ответа, сек traceroute -w 0.5 host
  • число запросов на хоп traceroute -q 5 host
  • ICMP вместо UDP traceroute -I host
  • определить MTU по пути traceroute --mtu host
  • ping + traceroute вместе mtr host
  • без резолва DNS mtr -n host
  • форсировать IPv4 mtr -4 host
  • ASN на каждом хопе mtr -z host
  • IP и reverse DNS одновременно mtr -b host

🧭dig / nslookup / whois

  • быстрый ответ A-записи dig +short host
  • подробный ответ dig +noall +answer host
  • конкретный тип записи dig +short host MX
  • обратный DNS-запрос dig -x 8.8.8.8
  • полная цепочка резолва от корня dig +trace host
  • авторитетные NS + SOA dig +nssearch host
  • запрос к конкретному DNS-серверу dig @8.8.8.8 host
  • через TCP на нестандартном порту dig +tcp -p port @dns_ip host
  • альтернативный клиент, любой тип nslookup -type=ANY host
  • zone transfer nslookup -vc -type=AXFR host ns
  • информация о домене whois host
  • abuse-контакт для IP whois -b ip

🧩ip — маршруты и интерфейсы

  • интерфейсы подробно ip a
  • интерфейсы кратко, L3 ip -br a
  • интерфейсы кратко, L2 ip -br l
  • таблица маршрутов ip r
  • ARP-таблица ip n
  • поднять/выключить интерфейс sudo ip l set eth0 up
  • добавить IP на интерфейс sudo ip a add 192.168.1.5/24 dev eth0
  • маршрут по умолчанию sudo ip r add default via 192.168.1.1 dev eth0

🔌ss — сокеты

  • все TCP/UDP/RAW/UNIX сокеты ss -a
  • фильтр по состоянию ss state established
  • TCP-сокеты, подключённые к 443 ss -t src :443
  • кто слушает порт 8080 ss -lt src :8080
  • процессы на удалённом SSH-порту ss -pt dst :ssh
  • UDP по конкретным портам ss -u 'sport == :53 and dport == :53'
  • только IPv4 в подсети ss -4t src 192.168/16
  • принудительно закрыть соединение ss -K dst ip dport = port

📦tcpdump — захват пакетов

  • список интерфейсов tcpdump -D
  • захват на интерфейсе sudo tcpdump -i eth0
  • ASCII-содержимое TCP sudo tcpdump -A tcp
  • трафик от/к хосту sudo tcpdump host example.com
  • по интерфейсу, source, dest и порту sudo tcpdump -i eth0 src 192.168.1.1 and dst 192.168.1.2 and dst port 80
  • по подсети sudo tcpdump net 192.168.1.0/24
  • запись в файл, кроме SSH sudo tcpdump -w dump.pcap port not 22
  • чтение из файла tcpdump -r dump.pcap

🎯nmap — сканирование

  • топ-1000 портов с verbosity nmap -v host
  • быстрый ping sweep подсети nmap -T5 -sn 192.168.0.0/24
  • ОС/версии/traceroute по списку хостов sudo nmap -A -iL hosts.txt
  • конкретные порты nmap -p 22,80,443 host
  • версии сервисов + стандартные скрипты nmap -sC -sV -oA out host
  • безопасные NSE-скрипты nmap --script "default and safe" host
  • веб-специфичные скрипты на 80/443 nmap --script "http-*" host -p 80,443

🐾arp / arping

  • ARP-таблица arp -a
  • удалить запись sudo arp -d ip
  • кто ответит на этот IP в L2 sudo arping -c 3 ip
  • с конкретного интерфейса sudo arping -I eth0 -c 3 ip
  • найти дубли IP в сегменте sudo arping -D -w 3 ip

📶iperf3 — пропускная способность

  • запустить сервер iperf3 -s
  • подключиться клиентом iperf3 -c server_ip
  • длительность теста, сек iperf3 -c server_ip -t 30
  • через UDP с заданной полосой iperf3 -c server_ip -u -b 100M
  • параллельные потоки iperf3 -c server_ip -P 4
  • обратное направление (сервер → клиент) iperf3 -c server_ip -R

🦈tshark — Wireshark в консоли

  • список интерфейсов tshark -D
  • захват с фильтром BPF tshark -i eth0 -f "tcp port 443"
  • фильтр отображения (Wireshark syntax) tshark -i eth0 -Y "http.request"
  • запись в pcap с ротацией по размеру tshark -i eth0 -w cap.pcap -b filesize:100000
  • чтение файла, только нужные поля tshark -r cap.pcap -T fields -e ip.src -e ip.dst
  • статистика по протоколам tshark -r cap.pcap -q -z io,phs

🏷️hostname / resolvectl

  • текущее имя хоста hostname
  • сменить имя (временно) sudo hostnamectl set-hostname name
  • статус DNS-резолвера systemd resolvectl status
  • резолв конкретного имени resolvectl query host
  • какой DNS используется на интерфейсе resolvectl dns eth0
  • сбросить кэш резолвера sudo resolvectl flush-caches

🔗ethtool / nc / socat

  • текущие настройки интерфейса ethtool eth0
  • информация о драйвере ethtool -i eth0
  • статистика интерфейса ethtool -S eth0
  • раздать файл через порт nc -l -p port < file
  • принять файл с порта nc host port > file
  • скан диапазона портов nc -v -z -w 2 host 1-1000
  • слушать порт, вывод в stdout sudo socat - TCP-LISTEN:8080,fork
  • форвард порта на другой хост sudo socat TCP-LISTEN:80,fork TCP4:example.com:80

🔒WireGuard

  • статус активных интерфейсов sudo wg
  • сгенерировать приватный ключ wg genkey
  • публичный ключ из приватного wg pubkey < private.key > public.key
  • сразу пару ключей wg genkey | tee private.key | wg pubkey > public.key
  • поднять туннель по конфигу sudo wg-quick up wg0
  • остановить туннель sudo wg-quick down wg0
  • текущий конфиг интерфейса sudo wg showconf wg0

🧭Policy routing — ip route / ip rule

  • маршрут по умолчанию через шлюз sudo ip route add default via 192.168.1.1
  • статический маршрут до сети sudo ip route add 10.0.0.0/24 via 192.168.1.1 dev eth0
  • удалить маршрут sudo ip route del 10.0.0.0/24
  • какой маршрут выберет ядро ip route get 8.8.8.8
  • текущие правила маршрутизации ip rule
  • трафик из подсети — в отдельную таблицу sudo ip rule add from 192.168.2.0/24 lookup 100
  • маршрут по умолчанию в этой таблице sudo ip route add default via 10.8.0.1 table 100
  • посмотреть отдельную таблицу маршрутов ip route show table 100

🧷VLAN / bridge

  • создать VLAN-интерфейс sudo ip link add link eth0 name eth0.100 type vlan id 100
  • поднять его sudo ip link set eth0.100 up
  • создать bridge sudo ip link add name br0 type bridge
  • добавить интерфейс в bridge sudo ip link set eth0 master br0
  • список bridge-интерфейсов bridge link
  • jumbo frames sudo ip link set eth0 mtu 9000
  • сменить MAC-адрес sudo ip link set eth0 address 02:11:22:33:44:55

🐢tc — шейпинг трафика

  • добавить задержку на интерфейс sudo tc qdisc add dev eth0 root netem delay 100ms
  • эмулировать потери пакетов sudo tc qdisc add dev eth0 root netem loss 5%
  • ограничить полосу sudo tc qdisc add dev eth0 root tbf rate 10mbit burst 32kbit latency 400ms
  • посмотреть активные правила tc qdisc show dev eth0
  • убрать все правила sudo tc qdisc del dev eth0 root

📶nmcli — NetworkManager

  • статус интерфейсов nmcli device
  • список соединений nmcli connection
  • поднять / выключить соединение sudo nmcli c up name / sudo nmcli c down name
  • доступные Wi-Fi сети nmcli d wifi
  • подключиться к Wi-Fi sudo nmcli d wifi connect ssid password pass
  • статический IPv4 на интерфейсе sudo nmcli c add ifname eth0 type ethernet ip4 10.0.0.7/24 gw4 10.0.0.1
  • импорт конфига OpenVPN sudo nmcli c import type openvpn file config.ovpn