Networking TCP/IP
ifconfig # zjišťuje MAC adresu
ifconfig -a # zobrazí i rozhraní, která nejsou aktivní
Vzdálené zjištění MAC adresy pomocí protokolu SNMP, viz dole
# Testování dostupnosti IP adresy
ping adresa
ping adresa -s packet_size # nastavuje velikost datagramu (64B)
ping adresa -i interval # nastavuje jak často se bude posilat EchoRequest (1/s)
ping adresa -f # flood ping, posila pakety a za kazdy request vykresli tecku, po prochodu reply ji zase smaze
tcpdump -i eth0
tcpdump -i eth0 -s velikost # kolik z každého paketu uloží
tcpdump -i eth0 -v # zobrazí vice informaci z hlaviček
tcpdump -i eth0 -n # nepřekládá ip adresy na jména
tcpdump -i eth0 -w file # zapisuje sebrané pakety do souboru
paket sniffer s podrobnou analýzou
tshark -V
tcpdump -v -i eth0 -w "soubor"
tcpdump -v -i eth0 > /tmp/log001
]```
## Překlad Adres
### ARP
Address Resolutin Protocol
překládá adresy IP -> MAC
```markdown
arp
arping 10.0.0.22 # ziskání MAC adresy
vm15:~# arping 10.0.0.22
ARPING 10.0.0.22
42 bytes from 00:16:3e:00:00:22 (10.0.0.22): index=0 time=3.280 msec
dhclient -v eth0
auto lo
iface lo inet loopback
auto eth0
iface eth0 inet dhcp
/etc/init.d/networking restart
vlastník (doména)
jméno - identifikace položky
class - pro Internet IN
TTL - jak dlouho může klient držet záznam v cache
typ - viz dole (A, AAAA, CNAME, ...)
RDATA - data, interpretace záleží na typu
Typy RR:
A - překlad na IPv4 adresu
AAAA - překlad na IPv6 adresu
SOA - Start of Authority (informace o zóně)
NS - Name Server
MX - Mail eXchanger (mail server pro doménu, priorita - může jich být víc)
CNAME - alias pro jiné jméno
PTR - ukazatel do jiné části DNS stromu
vm15:~# nslookup idnes.cz
Server: 195.113.19.71
Address: 195.113.19.71#53
Non-authoritative answer:
Name: idnes.cz
Address: 194.79.52.192
dig server dotaz typ
- server je name server, kterého se ptáme
- dotaz je jméno, na které se ptáme
- typ je typ RR záznamu na který se ptáme
- typ může být ANY pro všechny záznamy, AXFR pro přenos zóny
+ trace - nerekurzivní dotaz
+ qr - zobrazit dotaz
+ trace - zobrazit celou odpověď
ukazatel na doménové jméno
uvádí, že nějaké doménové jméno je alias za jiné
protokol pro dotazování do databáze (např databáze domén)
whois idnes.cz
transportní protokoly nad IP
porty - přidávají k IP adresám ještě jemnější adresaci
obousměrné spolehlivé spojení
Porty 1-1023 jsou privilegované (může je obsadit jen root)
Komunikace se serverem můžeme např. pomocí programů telnet a netcat
nástroj pro komunikaci se serverem
nc localhost daytime # komukice pomocí TCP
nc -u localhost daytime # komukice pomocí UDP
umožňuje vypsat spoustu informací o síťování na daném stroji
netstat -l # naslouchající porty
netstat -t # aktivní TCP spojení včetně jejich stavu
netstat -u # aktivní UDP spojení včetně jejich stavu
netstat -w # aktivní soket spojení včetně jejich stavu
netstat -p # přidává PID procesů
netstat -r # směrovací tabulka
netstat -s # statistika dat na rozhraních
zjišťuje jaké služby na vzdáleném počítači poslouchají
# použití:
nmap cíl # pro TCP
nmap -sU cíl # pro UDP
# podporuje více druhů scannování (man nmap)
nmap -O cíl # zapíná OS finger-print
##SSH
### Installace
sudo apt-get install openssh-server
### how-to-automate-ssh-login-with-password
Generate a rsa keypair:
# ssh-keygen
then copy it on the server with one simple command:
# ssh-copy-id hostname
you can now log in without password:
# ssh hostname
SSH je také možné použít na přesměrování:
- TCP portu z lokálního počítače na jiný počítač a port pomocí šifrovaného kanálu
- nebo naopak TCP portu ze vzdáleného počítače
kopírování souborů
příkaz SCP - požívá se podobně jako příkaz CP
scp user@host:fileFrom user@host:fileTO
Simple Network Management Protocol
port 161 - naslouchá na něm zařízení
port 162 - naslouchá na něm SNMP manager
programy pro práci se SNMP: snmpget, snmpset, snmpwalk
# příklad:
vm15:~# snmpwalk -v1 -c public 10.0.0.100
SNMPv2-MIB::sysDescr.0 = STRING: Linux bug.ms.mff.cuni.cz 2.6.18-53.1.13.el5xen #1 SMP Tue Feb 12 14:04:18 EST 2008 i686
SNMPv2-MIB::sysObjectID.0 = OID: NET-SNMP-MIB::netSnmpAgentOIDs.10
DISMAN-EVENT-MIB::sysUpTimeInstance = Timeticks: (763702) 2:07:17.02
SNMPv2-MIB::sysContact.0 = STRING: root
SNMPv2-MIB::sysName.0 = STRING: bug.ms.mff.cuni.cz
SNMPv2-MIB::sysLocation.0 = STRING: MS
...
(strasne dlouhy)
# zjištění MAC adresy tiskárny eliska.ms.mff.cuni.cz
vm15:~# snmpwalk -v1 -c public eliska.ms.mff.cuni.cz | grep IF-MIB::ifPhy
IF-MIB::ifPhysAddress.1 = STRING: 0:1:e6:3:6f:7a
IF-MIB::ifPhysAddress.2 = STRING:
### SNMP Instalace
sudo apt-get install snmp # instalace klienta
sudo apt-get install snmpd # instalace serveru
sudo vim /etc/snmp/snmpd.conf # nastavení - především odkomentovat řádek:
agentAddress udp:161