Uživatelské nástroje

Nástroje pro tento web


sit-a-komunikace

Síť a komunikace


SÍŤ A KOMUNIKACE
hostname vypíše aktuální jméno počítače, -I všechny IP adresy počítače, -d název DNS domény
hostname <jmeno_pocitace> nastaví dočasně jméno počítače (trvalé nastavení se provede v /etc/sysconfig/network)
hostnamectl --transient
(platí pro Red Hat Enterprise Linux 7)
vypíše aktuální jméno počítače
hostnamectl set-hostname <jmeno_pocitace>
(platí pro Red Hat Enterprise Linux 7)
nastaví trvale jméno počítače (upraví /etc/hostname), --transient nastaví jméno počítače dočasně
domainname vypíše jméno NIS domény, -I všechny IP adresy počítače, -d název DNS domény
domainname <jmeno_domeny> nastaví doménu počítače (trvalé nastavení se provede v /etc/sysconfig/network)
hostid vypíše číselný identifikátor systému
cat /etc/services vypíše známé síťové služby včetně jejich protokolu a čísla portu
cat /etc/protocols vypíše známé síťové protokoly
cat /etc/resolv.conf vypíše seznam dostupných DNS serverů pro překlad doménových jmen na IP adresy
cat /etc/hosts vypíše seznam IP adres a k nim přiřazená doménová jména a případné aliasy počítačů, se kterými se lokální systém spojuje jinak než prostřednictvím DNS či NIS
host <IP_adresa / jmeno_pocitace> vypíše doménové jméno nebo IP adresu vzdáleného počítače, -a vypíše všechny dostupné informace
$ host fedora.com
nslookup <IP_adresa / jmeno_pocitace> vypíše IP adresu dostupného DNS serveru a doménové jméno nebo IP adresu vzdáleného počítače; podle použitých voleb zobrazí další DNS záznamy, bez argumentu pracuje interaktivně
dig <jmeno_pocitace> vypíše IP adresu vzdáleného počítače a dostupného DNS serveru, -x <IP_adresa> vypíše doménové jméno vzdáleného počítače; podle použitých voleb zobrazí další DNS záznamy
whois <jmeno_domeny> zobrazí informace o registraci internetové domény
$ whois redhat.com
ethtool <zarizeni>
ethtool -s <zarizeni> <volba>
vypíše nastavení síťové karty
nastaví síťovou kartu; volba např. duplex half či full, speed 10, 100, či 1000
# ethtool -s eth0 duplex full speed 100
(nastaví plný provoz a rychlost 100 Mb/s)
ifup <zarizeni> aktivuje síťovou kartu
# ifup eth0
ifdown <zarizeni> deaktivuje síťovou kartu
# ifdown eth1
whatmask <netmask> / <IP/netmask> vypíše počet použitelných IP adres v dané síti
$ whatmask /24 / 192.168.165.23/24
ip (<volba>) <objekt> <prikaz> (<parametr>) zobrazí či nastaví síťové parametry
$ ip addr show
(vypíše aktuální nastavení sítě)
# ip addr add 192.168.0.100/24 dev eth0
(přidělí danému rozhraní další IP adresu)
# ip addr del 192.168.0.100/24 dev eth0
(odstraní danou IP adresu z rozhraní)
# ip route show
(zobrazí směrovací tabulku)
ifconfig / ifconfig <zarizeni>

ifconfig <zarizeni> (<adresa>) <volba>
vypíše vlastnosti všech aktivních / daných síťových rozhraní - IP adresu, MAC adresu, masku sítě a další síťové parametry, -a vypíše i neaktivní síťová rozhraní
nastaví vlastnosti daných síťových rozhraní, volby např. up, down, hw ether <MAC_adresa>, netmask <maska_site>; (trvalé nastavení se provede v /etc/sysconfig/network-scripts/ifcfg-eth*)
# ifconfig eth0 up / down
(aktivuje / deaktivuje síťovou kartu)
# ifconfig eth0 192.168.0.10 netmask 255.255.255.0
(nastaví statickou IP adresu a masku sítě)
# ifconfig eth0 hw ether 00:11:09:D6:DC:3C
(nastaví síťové kartě danou MAC adresu)
iwconfig <zarizeni>
iwconfig <zarizeni> <volba>
vypíše vlastnosti bezdrátového síťového rozhraní
nastaví vlastnosti bezdrátového síťového rozhraní, essid <jmeno_site> jméno sítě, ap <AP_adresa> adreasa přípojného bodu, mode <rezim> režim karty („Managed“ = klient, „Master“ = access point), key <klic> šifrovaný přenos
# iwconfig eth1 essid AP_profik ap 00:60:1D:01:23:45 key 0123-4567-89 mode Managed
iwlist <zarizeni> <volba> zjistí dostupné informace o bezdrátové síti před její konfigurací, scan vypíše dostupné sítě včetně adresy AP, frekvence, režimu, šifrování a kvality
ping <IP_adresa / jmeno_pocitace> zjistí dostupnost počítače v síti, -c<n> určí počet pokusů o spojení
$ ping -c5 google.com
route / netstat -r
route <volba> (<parametr>) (<cil>) (<volba>) (<parametr>)
zobrazí směrovací tabulku jádra
-n vypíše IP adresy, add přidá statickou trasu, del odstraní statickou trasu, -net definuje jako cíl síť, -host definuje jako cíl počítač, netmask definuje masku sítě, gw definuje bránu, dev definuje síťovou kartu; (trvalé nastavení se provede v /etc/sysconfig/network-scripts/route-eth*)
# route add -host 95.139.140.42 gw 89.229.34.178
(přidá trasu pro daný počítač)
# route add default gw 192.168.122.255
(nastaví bránu na danou IP adresu)
# route add -net 192.56.76.0 netmask 255.255.255.0 dev eth0
(přidá trasu pro danou síť a určí síťovou kartu)
traceroute <IP_adresa / jmeno_pocitace> vypíše celou cestu po síti k danému počítači, -m <n> určí max. počet skoků - max. hodnotu „time-to-live“ (implicitně 30), -n vypíše IP adresy
$ traceroute yahoo.com
mtr <IP_adresa / jmeno_pocitace> vypíše interaktivním způsobem celou cestu po síti k danému počítači (informace o paketech se mění podle aktuálního stavu), -m <n> určí max. počet skoků - max. hodnotu „time-to-live“ (implicitně 30), -n vypíše IP adresy
netstat vypíše všechna dostupná síťová připojení, včetně portu, protokolu a adresy, -a všechna současná připojení, -l pouze naslouchající porty, -t jen TCP porty (s volbou "-a" nebo "-l"), -u jen UDP porty (s volbou "-a" nebo "-l"), -e uživatele a i-uzly, -n IP adresy, -p PID a jméno programu využívajícího daný port, -i tabulku síťových rozhraní, -r směrovací tabulku jádra, -s celkovou statistiku sítě pro každý protokol
$ ports="echo discard systat daytime netstat chargen finger nntp"; echo="7"; discard="9"; systat="11"; daytime="13"; netstat="15"; chargen="19"; finger="79"; nntp="119"; for port in $ports; do open_ports=$(netstat -an | egrep ":${!port}[ ]"); if [[ -n "$open_ports" ]]; then echo "${port} --> YES"; else echo "${port} --> NO"; fi; done
(zobrazí názvy daných procesů a zda jsou jejich standardní porty otevřené)
tcpdump zobrazí veškerý síťový provoz, -i <zarizeni> na daném rozhraní (implicitně první v pořadí), port <port> na daném portu, tcp/udp/icmp pro daný protokol, host <pocitac> mezi daným počítačem, ether host <MAC_adresa> mezi danou MAC adresou, -n vypíše IP adresy, -v podrobný výpis
# tcpdump -i eth0 -nv port 22
# tcpdump -nv ether host 00:02:3F:09:FA:F1
ifstat (<zarizeni>) zobrazí statistiku zatížení sítě - velikost přijatých a odeslaných dat na všech nebo na daném síťovém rozhraní
iftop zobrazí interaktivním způsobem statistiku zatížení sítě - zdrojovou a cílovou adresu, velikost přijatých a odeslaných dat a celkový souhrn (informace se mění podle aktuálního stavu), -i <zarizeni> určí síťové rozhraní (implicitně první v pořadí), interaktivní volba n vypíše IP adresy, p zobrazí porty, S zdrojový port, D cílový port, N službu poslouchající na cílovém portu, q ukončí program
nmap (<sken> <volba>) <cil> zkoumá dostupnost portů vzdáleného počítače s cílem identifikovat běžící služby, případně typ operačního systému; typ skenu může být -sS (TCP SYN scan - nejpoužívanější, nedojde k úplnému navázání spojení, je odeslán paket SYN a přijat SYN/ACK - port otevřen nebo RST - port zavřen), -sA (TCP ACK scan, mapuje pravidla firewallu, jsou-li porty filtrované, jde o stavový firewall), -sU (UDP scan), -sP (ping scan, pouze zjistí dostupnost počítače, v lokální síti i jeho MAC adresu); -sV vypíše program, který daná služba využívá, -p <port> specifikuje porty, -O identifikuje OS, -PN nevysílá ping (vhodné, je-li firewallem zakázán), -D <IP_adresa> tzv. „decoy“, sloužící k oklamání cíle, -iL <soubor> čte cíl ze souboru, -v podrobný výpis
$ nmap root.cz
$ nmap -sP 10.0.0.0/24
# nmap -sA -v 147.229.28.4
# nmap -sS -sV -v 147.229.28.4 > scan.txt
# nmap -sS -PN -p 1-65000 192.168.0.247
# nmap -sS -sU -iL seznam_pc
# nmap -sS -O -D 192.168.0.1,192.168.0.2 192.168.0.3
(TCP SYN port scan s detekcí OS cíle 192.168.0.3, předstíraný z předchozích IP adres)
service iptables start / stop / status spustí / zastaví firewall či vypíše jeho nastavení
service iptables save uloží nově vytvořená pravidla firewallu do /etc/sysconfig/iptables, aby byla zachována i po restartu systému
iptables-save exportuje nastavená (i ještě neuložená) pravidla firewallu z paměti na STDOUT
# iptables-save > iprules
(uloží nová pravidla firewallu do daného souboru)
iptables-restore importuje pravidla firewallu ze STDIN do paměti
# iptables-restore < iprules
(načte pravidla firewallu z daného souboru)
iptables (-t <tabulka>) <volba> <retezec> <specifikace> <cil> nastaví pravidla firewallu v síti; k filtrování paketů slouží tabulka „filter“ (implicitní), jež obsahuje vestavěné řetězce „INPUT“ pro příchozí pakety, „OUTPUT“ pro odchozí pakety a „FORWARD“ k přesměrování paketů mezi sítěmi, pro překlad IP adres neveřejné sítě či přesměrování portů slouží tabulka „nat“ s řetězci „PREROUTING“ pro příchozí pakety, „OUTPUT“ pro úpravu paketů a „POSTROUTING“ pro odchozí pakety, tabulka „mangle“ obsahuje všechny uvedené řetězce, využívá se však zřídka; aby firewall fungoval správně, záleží na pořadí stanovených pravidel, jejichž výčet se nachází v /etc/sysconfig/iptables; volba -I (<n>) přidá pravidlo na začátek výčtu daného řetězce či na uvedenou pozici, -A přidá pravidlo na konec výčtu daného řetězce, -D (<n>) zruší dané pravidlo, -L vypíše nastavená pravidla daného řetězce, jinak všechna; s volbou -n zobrazí IP adresy a porty v číselném formátu, s volbou -v vypíše počet paketů a bytů u každého pravidla včetně protokolu a rozhraní, s volbou --line-numbers čísluje pravidla daného řetězce (vhodné pro další použití s volbou „-I“ či „-D“), -F zruší nastavená pravidla daného řetězce, jinak všechna, -P nastaví výchozí politiku řetězce (implicitně je vše povoleno), -N vytvoří vlastní řetězec, obvykle sloužící pro podrobnější specifikaci pravidel (u těchto řetězců nelze nastavit výchozí politiku), -X odstraní vlastní řetězec; následuje specifikace pravidla -i <zarizeni> vstupní zařízení, -o <zarizeni> výstupní zařízení, -s <adresa> zdrojová adresa, -d <adresa> cílová adresa, -p <protokol> typ protokolu, -m <modul> rozšíření pravidla (state --state <typ_spojeni> určí typ spojení - NEW nové spojení, ESTABLISHED existující spojení, RELATED nové spojení navazující na již existující komunikaci, INVALID neplatné spojení, kdy pakety nelze identifikovat; time určí čas spojení --timestart <hh:mm>, --timestop <hh:mm>, --monthdays <den_v_mesici>, --weekdays <den_v_tydnu>; iprange --src-range / --dst-range <IP-IP> určí rozsah zdrojových / cílových adres; limit --limit <n>/<s / m / h / d> určí časový údaj, --limit-burst <n> určí počet paketů), --sport <port> zdrojový port, --dport <port> cílový port; a konečně -j <cíl> určí, jak s paketem naložit - pro tabulku „filter“ ACCEPT = přijmout, DROP = zahodit, LOG = logovat pakety, REJECT = oznámit nedostupnost, pro tabulku „nat“ SNAT --to <IP_adresa> = změnit zdrojovou adresu, DNAT --to <IP_adresa> = změnit cílovou adresu, REDIRECT --to-ports <port> = přesměrovat port
# iptables -nvL --line-numbers
(vypíše nastavená pravidla firewallu včetně podrobných informací)
# iptables -P INPUT DROP
(zahodí všechny příchozí pakety)
# iptables -I INPUT -s 147.229.28.4 -j DROP
(zahodí pakety přicházející z dané adresy)
# iptables -A INPUT -p tcp --dport 22 -j DROP
(zahodí pakety přicházející na daný port)
# iptables -A INPUT -p tcp --dport 443 -j REJECT
(nastaví odeslání informace o nedostupnosti služby)
# iptables -I OUTPUT -d '!' 147.229.28.4 -j DROP
(povolí jen pakety odcházející na danou adresu)
# iptables -A OUTPUT -o eth0 -d 192.168.0.0/24 -j ACCEPT
(povolí jen pakety odcházející z daného zařízení do lokální sítě)
# iptables -A OUTPUT -d upc.cz -p tcp --dport 80 -j DROP
(zakáže zobrazení uvedené URL)
# iptables -A FORWARD -i eth0 -o eth1 -p tcp --dport '!' 80 -j DROP
(povolí přesměrování paketů pouze na port 80)
# iptables -A INPUT -p tcp –dport 50:55 -m iprange --src-range 192.168.0.1-192.168.0.10 -j ACCEPT
(povolí daným adresám rozsah portů 50 - 55)
# iptables -A INPUT -p icmp --icmp-type echo-request -m limit --limit 1/s --limit-burst 2 -j ACCEPT
(omezí počet požadavků „ping“ na 2 za 1s)
# iptables -t nat -A PREROUTING -p tcp --dport 80 -j REDIRECT --to-ports 3250
(presměruje daný port)
# iptables -t nat -A PREROUTING -p tcp --dport 80 -i eth0 -j DNAT --to 192.168.0.2:8080
(změní cílovou adresu a port služby)
# iptables -A INPUT -j LOG
(loguje všechny pakety, které nevyhovují žádnému z nastavených pravidel do /var/log/messages)
# iptables -D INPUT 5
(zruší pravidlo řetězce „INPUT“ nacházející se ve výčtu na pátém pořadí)
ssh <hostitel> / <uzivatel>@<hostitel> (<prikaz>) uskuteční šifrované přihlášení k existujícímu účtu na vzdáleném počítači při použití stejného uživatelského jména na obou strojích / při přihlášení pod jiným účtem; na hostiteli lze rovněž spustit místo přihlašovacího shellu daný příkaz, jehož výsledek se vypíše na STDOUT lokálního počítače, -l <uzivatel> přihlásí pod daným uživatelem, -p <port> použije nestandardní port (odlišný od portu 22), -v podrobný výpis
$ ssh 192.168.0.20
$ ssh norton@mx.webs.cz / ssh -l norton mx.webs.cz
$ ssh 192.168.0.20 uname -a
$ echo "insert hostname":; while read hostname; do ssh $hostname 'echo "Hostname": $(hostname); echo "Linux version": $(uname -a; cat /etc/redhat-release)'> ${hostname}_version.log && echo "insert hostname":; done
ssh-keygen vytvoří pár autentizačních klíčů - soukromý a veřejný, který slouží pro bezpečnou identifikaci uživatele během připojení přes ssh, aniž by musel zadat své přístupové jméno a heslo; soukromý klíč se standardně ukládá v ~/.ssh/id_rsa či ~/.ssh/id_dsa, veřejný klíč bývá uložen v ~/.ssh/id_rsa.pub či ~/.ssh/id_dsa.pub a jeho obsah je třeba vložit do ~/.ssh/authorized_keys hostitele; program rovněž vyzve uživatele k zadání „passphrase“ (řetězec libovolných znaků včetně mezer, sloužící k ochraně soukromého klíče před zneužitím cizí osobou), kterou, pokud není prázdná, je třeba se identifikovat na začátku každého spojení, -t <klic> určí typ klíče - „rsa“ nebo „dsa“ (implicitně „rsa“), -p změní „passphrase“, -v podrobný výpis
ssh-copy-id (<uzivatel>@)<hostitel> kopíruje veřejný klíč uživatele z lokálního počítače do ~/.ssh/authorized_keys hostitele, -i <soubor> určí soubor s klíči (jinak se použije ~/.ssh/id_rsa.pub)
$ ssh-copy-id -i ~/.ssh/id_dsa.pub dookie@94.112.152.47
ssh-add (<soubor>) předá dočasně soukromý klíč a „passphrase“ do správy programu „ssh-agent“
ssh-agent <prikaz> umožní bezpečné přihlášení na základě autentizačních klíčů, aniž by bylo nutné před každým spojením zadávat „passphrase“ (využití zejména při vzdáleném spouštění příkazů na větším počtu serverů pomocí skriptu); ssh-agent se tedy spustí před začátkem operace, příkazem „ssh-add“ se mu předá soukromý klíč a zadá se pouze jednou „passphrase“
$ ssh-agent sh <-'
$ ssh-add <-'
> <passphrase> <-'
scp (<hostitel>: / <uzivatel>@<hostitel>:)<zdroj> (<hostitel>: / <uzivatel>@<hostitel>:)<cil> uskuteční šifrovaný přenos dat mezi vzdálenými počítači při použití stejného uživatelského jména na obou strojích / při přihlášení pod jiným účtem, -p zachová atributy souboru, -r rekurzivně, -v podrobný výpis, -P <port> použije nestandardní port, -l omezuje rychlost přenosu v kB/s, -C komprese
$ scp -rv mx.webs.cz:/home/kuba/data .
(zkopíruje adresář „data“ ze vzdáleného počítače do prac. adresáře lokálního počítače)
$ scp ~/.ssh/id_rsa.pub norton@192.168.0.1:.ssh/authorized_keys
(zkopíruje soubor „id_rsa.pub“ z lokálního počítače do „.ssh/“ v domovském adresáři na vzdáleném počítači)
$ scp norton@arnold:soubor.txt 192.168.20.1:
(zkopíruje „soubor.txt“ z jednoho vzdáleného počítače do druhého, v obou případech z a do vlastního domovského adresáře)
sftp <hostitel> / <uzivatel>@<hostitel> uskuteční šifrovaný přenos dat mezi vzdálenými počítači při použití stejného uživatelského jména na obou strojích / při přihlášení pod jiným účtem; využívá se těchto příkazů: ! <prikaz> spustí daný příkaz na lokálním počítači, ? nápověda, get <soubor> kopíruje vzdálený soubor na lokální počítač, mget <soub*> kopíruje více souborů s využitím zástupných znaků, pro opačný směr put <soubor> nebo mput <soub*>, bye / quit konec
telnet <hostitel> (<port>) přihlásí k existujícímu účtu na vzdáleném počítači
$ telnet 192.168.0.20 80
(zjistí dostupnost daného portu na vzdáleném počítači)
lynx <URL> zobrazí obsah URL, q ukončí program
$ lynx yahoo.com
wget <URL> stáhne obsah URL do pracovního adresáře, -r rekurzivní stahování, -t <pocet> určí počet pokusů o stažení
curl <URL> kopíruje data z nebo na daný URL, -o <soubor> určí cílový soubor (jinak STDOUT), -F <polozka>=<obsah> specifikuje odchozí data („@“ značí zdrojový soubor)
# curl -o /etc/yum.repos.d/data.repo set.cz/data.repo
mail zobrazí obsah schránky přihlášeného uživatele (/var/spool/mail/<uzivatel>), -f zobrazí obsah schránky udržující již přečtené zprávy (/home/<uzivatel>/mbox); příkazy pro práci se schránkou:
p/p(n) zobrazí obsah nejstarší / dané zprávy, r odpoví na zprávu, d/d(m-n)/d* smaže dané / všechny zprávy, q ukončí práci se schánkou
mail <adresa> odešle zprávu na danou adresu, -s <predmet> předmět, -c <adresa> kopie (CC), -b <adresa> skrytá kopie (BCC)
$ mail root / tom@atlas.cz < nabidka.txt
$ cat soubor | mail -s "navrh" kuba -c root
$ echo "ahoj Kubo" | mail -s "pozdrav" kuba
zprávu lze rovněž poslat tímto způsobem:
$ mail <adresa> <-'
Subject: <predmet> <-'
<text> <-'
.<-' nebo ctrl+d
Cc: <adresa> <-'
wall <zprava> odešle zprávu na všechny otevřené terminály počítače přihlášeným uživatelům, kteří mají nastaveno mesg na "yes"
write <uzivatel> (<terminal>) odešle zprávu danému uživateli na stejném počítači; pokud je uživatel přihlášen na více terminálech současně, lze terminál specifikovat, jinak program zvolí terminál, na kterém uživatel prováděl aktivitu naposledy
$ write dookie <-'
<text>
ctrl+d
$ echo "Ahoj" | write dookie
talk <uzivatel> / <uzivatel>@<hostitel> (<terminal>) uskuteční vzájemnou komunikaci mezi dvěma uživateli současně (v případě shodného uživatelského jména i mezi různými počítači), okno je rozděleno na příchozí a odchozí text; pokud je uživatel přihlášen na více terminálech současně, lze terminál specifikovat, jinak program zvolí terminál, na kterém uživatel prováděl aktivitu naposledy
$ talk root@new.domain.cz <-'
<text> <-'
ctrl+c
mesg (<y / n>) nastaví dostupnost terminálu uživatele pro příjem zpráv programu „wall“, „talk“ nebo „write“; bez parametru pouze zjistí aktuální stav
who -w zjistí dostupnost přihlášených uživatelů pro příjem zpráv programu „wall“, „talk“ či „write“ („+“ = ano, „-“ = ne)
Poslední úprava: 2015/08/06 20:53 autor: Miroslav Bernát

Nástroje pro stránku

počet návštěv: