Linux: работа с сетью (маршрутизация, arp, performance, etc)

 

Общее
  • Общая концепция – “net-tools deprecated, use iproute2” из-за ряда проблем с net-tools. Из крутого iproute2 позволяет с помощью netns делать в Linux полноценные vrf.
  Читать дальше

Linux xargs: запуск утилит на список, простая многопоточность в bash

  • (ping, nmap, xargs, bash) Ping целой подсети /24 в 253 потока.
for ip in 10.3.1.{1..254}; do ping -c5 ${ip} & done

 

xargs позволяет легко запускать утилиты на списки аргументов, даже если утилиты не поддерживают работу со списками. Реализуется простейшим образом – xargs каждый раз заново вызывает утилиту при запуске на список.  Читать дальше

nmap теория и практика использования для сканирования сети

  • Что такое nmap вкратце проще всего посмотреть через whatis 😉
~$ whatis nmap
nmap (1) - Network exploration tool and security / port scanner
  • (ping, nmap, xargs, bash) Ping целой подсети /24 в 253 потока.
for ip in 10.3.1.{1..254}; do ping -c5 ${ip} & done
ОПЦИИ

УСКОРЕНИЕ

  • ZMap – в случае необходимости сканов “Internet-wide”.
  Читать дальше

ICMP: ping/hping, tracert/traceroute

ICMP NOTES

  • ICMP types, а еще лучше описаны все на сайте IANA
    • 0 – echo reply
    • 8 – echo (PING) request
    • 3 – unreahable (net/host/port/etc)
serv:~# netstat -us
IcmpMsg:
InType0: 10144
InType3: 2514
InType8: 540567
OutType0: 540567
OutType3: 2472
OutType8: 10224
<output omitted>
  • обычно блокируются все типы кроме 0 и 8-го, особенно это касается 
    • redirect – redirection, части используется в атаках
    • unreachable типа 3
Пример
0 Net Unreachable [RFC792]
1 Host Unreachable [RFC792]
2 Protocol Unreachable [RFC792]
3 Port Unreachable
PING

Параметры по умолчанию

  • Huawei: не 32 bytes, TTL 255, отправляется 4 пакета
  • Windows: 32 bytes, TTL 64 для внешних пакетов и 128 для 127.0.0.1, отправляется 4 пакета
  • Unix: 64 bytes, TTL 64, отправляется анлим пакетов

(ping, nmap, xargs, bash) Ping целой подсети /24 в 253 потока.  Читать дальше

Linux: использование rpm/yum/dnf в CentOS (обновление, установка, удаление приложений)

  • Аналог статьи про Ubuntu, Gentoo
  • (Centos, Ubuntu) PackageKit — открытый и свободный набор приложений для обеспечения высокоуровнего интерфейса для различных пакетных менеджеров. Он используется RHEL в качестве графического интерфейса (по факту нескольких интерфейсов/утилит – add/remove software, package updater, settings) управления пакетами.
  Читать дальше

SecureCRT, Termius, MPutty, (supper)Putty, SolarPutty, mRemoteNG, iTerm, Mobaxterm, Windows Terminal

Альтернативы SecureCRT:

  • Termius – кросс-платформенная альтернатива
  • Windows: Windows Terminal, mRemoteNG, MPutty, SupperPutty, SolarPutty, Mobaxterm (препод Linux особенно хвалил)
  • MacOS: iTerm2 – шикарная альтернатива на Mac

 

 

PUTTY

Король, использую его + закладки сессий самой Windows. Получается довольно удобно. 🙂

По PPK можно легко получить public key – это делает WinSCP с кнопки.  Читать дальше

Linux: работа с числами (bc, dc, expr)

http://www.basicallytech.com/blog/?/archives/23-command-line-calculations-using-bc.html  – примеры расчета простых выражений с помощью bc.

expr и let – базовые целочисленные калькуляторы. Поддерживают операции сложения/деления/умножения/вычитания.

EXPR
$ expr 6 + 2
8

$ expr 6 - 2
4

$ expr 6 \* 2
12

$ expr 6 / 2
3

$ expr 6 / 5
1

LET
let "b = $a * 2"
let "b = $a - 2"

bc (basic calculator) — интерактивный интерпретатор Си-подобного языка, позволяет выполнять вычисления с произвольно заданной точностью.  Читать дальше

RFC, IETF (о самих документах)

Есть даже RFC 1796, которая говорит, что не каждый RFC является стандартом!
https://tools.ietf.org/html/rfc1796
https://en.m.wikipedia.org/wiki/Request_for_Comments

Not all RFCs are standards.[20][21]Each RFC is assigned a designation with regard to status within the Internet standardization process. This status is one of the following: Informational, Experimental, Best Current Practice, Standards Track, or Historic.
  Читать дальше

Synstart – синхронизация времени запуска программ и утилит в Linux

synstart решает задачу синхронизации старта запуска программ за счет их предварительной планировки по времени (см. cron). Код простой на python.

В сравнении с at/atd погрешность запуска программ между демонами значительно ниже – вместо секундной погрешности в at/atd при использовании synstart получаем миллисекундную погрешность (возможно добиться вплоть до 10 микросекунд при тюнинге sleep на демонах).  Читать дальше

Linux: перезагрузка/отключение системы (reboot, shutdown, halt, poweroff)

Отключение

Soft-отключение системы прямо сейчас.

shutdown now

Soft-отключение системы через 60 минут.

shutdown -h +60 "Shutting down in 60 minutes. Be a dear and log out before then."

Hard-отключение системы прямо сейчас.

halt
poweroff

Перезагрузка

Перезагрузка прямо сейчас. Команды reboot/shutdown перезагружают систему по разному.  Читать дальше