[[oktatas:linux|< Linux]] ====== Linux diagnosztika ====== * **Szerző:** Sallai András * Copyright (c) 2011, Sallai András * Szerkesztve: 2011, 2012, 2013, 2014, 2015, 2017, 2018, 2023 * Licenc: [[https://creativecommons.org/licenses/by-sa/4.0/|CC BY-SA 4.0]] * Web: https://szit.hu ===== Bevezetés ===== Diagnosztizálunk itt mindent. DNS szervert, a hálózat egyéb részeit, a rendszer különböző részeit. Vannak itt kisebb nagyobb leírások; van amelyik csak gondolatébresztő. ===== DNS ===== ==== host ==== A host parancs tartományok és zónák adatait kérdezi le névkiszolgálóktól. A következő parancs egy tartományhoz tartozó MX rekordot kérdezi le: host -t MX szit.hu Az eredmény valami ilyesmi: szit.hu mail is handled by 5 mail.szit.hu. Ezzel megtudtuk, ha valaki egy szit.hu tartományra küld leveleket, akkor azokat a mail.szit.hu szerver fogja kezelni, azaz fogadni. A tartományhoz elérhető zónainformációk lekérdezése: host -t any szit.hu Lehetséges eredmény: szit.hu mail is handled by 5 mail.szit.hu. szit.hu has SOA record ns.tdns1.net. hostmaster.cpserver.net. 2011102801 10800 3600 3600000 3600 szit.hu name server ns.tdns1.net. szit.hu name server ns.tdns2.net. szit.hu has address 84.21.31.224 ==== dig ==== A DNS rendszergazdák kiváló eszköze. Megnézhetjük egy DNS szerver mit tud adott tartománynévről mondani. Telepítés: apt install knot-dnsutils vagy: atp install dnsutils A '@' karakter után adjuk meg szóközök nélkül a lekérdezett DNS szervert: dig @szervercim amelydomaintszeretnem dig szit.hu any +noall +answer ; <<>> DiG 9.7.3 <<>> szit.hu any +noall +answer ;; global options: +cmd szit.hu. 3600 IN MX 5 mail.szit.hu. szit.hu. 3600 IN SOA ns.tdns1.net. hostmaster.cpserver.net. 2011102801 10800 3600 3600000 3600 szit.hu. 3600 IN NS ns.tdns2.net. szit.hu. 3600 IN NS ns.tdns1.net. szit.hu. 3600 IN A 84.21.31.224 ==== nslookup ==== nslookup -ty=any szit.hu Server: 84.2.44.1 Address: 84.2.44.1#53 Non-authoritative answer: szit.hu origin = ns.tdns1.net mail addr = hostmaster.cpserver.net serial = 2011102801 refresh = 10800 retry = 3600 expire = 3600000 minimum = 3600 szit.hu nameserver = ns.tdns2.net. szit.hu nameserver = ns.tdns1.net. Name: szit.hu Address: 84.21.31.224 szit.hu mail exchanger = 5 mail.szit.hu. Authoritative answers can be found from: mail.szit.hu internet address = 84.21.31.224 Az nslookup paraméter nélkül indítva egy interaktív program, amely parancsokat vár az indítása után. ===== Hálózat ===== ==== socat ==== === Leírás === Több célú kétirányú adatforgalom kezelő. A man socat elég hosszan taglalja a lehetőségeket. === Telepítése === apt-get install socat Vagy a legújabb: * http://www.dest-unreach.org/socat/download/ === Használat === Például tesztelhetjük a levelezőszerverünket: socat - TCP4:localhost:25 220 evelin ESMTP Postfix (Debian/GNU) ehlo vagyok 250-evelin 250-PIPELINING 250-SIZE 10240000 250-VRFY 250-ETRN 250-STARTTLS 250-ENHANCEDSTATUSCODES 250-8BITMIME 250 DSN quit 221 2.0.0 Bye Portot irányíthatunk át: socat TCP4-LISTEN:8000 TCP4:debian.org:www Persze ez a második kérést már nem szolgálja ki. Ez utóbbi például a mi gépünk 8000-es portjára érkező minden kérést átirányít a debian.org IP címéhez tartozó webszerver főoldalára. socat TCP4-LISTEN:8000,fork TCP4:debian.org:www Így több kérést is fogad, sőt, minden egyes kérésre újabb socat szállat indít. Egy démon rögtönzése: socat - TCP-LISTEN:5555,crlf Csak szerveroldalon szakítható meg. Ha csak olvasni akarom a foglalatot: socat readline TCP-LISTEN:5555,crlf ==== mtr ==== === Leírás === Az mtr egy teljesképernyős ncurses és X11 alapú tracroute program. Ping paranccsal megvalósított nyomkövetést tesz lehetővé (traceroute). (A traceroute képes csomagok nyomkövetésére. Kideríthetjük milyen routereken ment keresztül a csomagunk) === Telepítés === apt-get install mtr === Használat === Az mtr X felülete indul el, ha érzékeli a grafikus felületet. Ellenkező esetben ncurses módban fut. Akármelyik felületen vagyunk elég beírni mtr: mtr A program interaktív, kilépni a "Q" billentyű lenyomásával lehet. Azonban grafikus felületen is rávehetjük az ncurses módra: mtr -t vagy mtr --curses Egyéb paraméter nélkül a localhostra küld folyamatosan pinget. Ha megadunk számára egy tartománynevet, akkor az adott címre fog echo request parancsokat küldeni, miközben mutatja az eredményt. A használatához a célgépnek válaszolni kell a ping parancsra. ==== arp ==== === Leírás === Az ARP tábla lekérdezése, manipulálása. === Telepítés === Az arp parancs a net-tools csomagban van. Telepítés: apt-get install net-tools === Használat === Egyszerűen írjuk be az arp parancsot, amely kiírja az aktuális ARP táblát: arp Lehetséges válasz: Address HWtype HWaddress Flags Mask Iface 192.168.5.1 ether a0:f3:c1:d7:5c:7a C eth0 A -n kapcsoló lebeszéli a programot a host, port és felhasználói nevek feloldásáról. Az arp -n és arp parancs egyazon kimenetet adja, de a -n gyorsabb. Ha nincs más kapcsoló, akkor érdemes a -n kapcsolót használni: arp -n Lehetséges válasz: Address HWtype HWaddress Flags Mask Iface 192.168.5.100 ether 08:00:27:98:43:27 C eth0 192.168.5.1 ether 00:14:78:ef:fe:88 C eth0 Más paraméter nélkül lekérdezzük az arp táblánkat. ==== arping ==== === Telepítés === Az arping parancs a vele azonos nevű csomagban van. A telepítés: apt-get install arping === Használat === arping 00:14:78:ef:fe:88 Eredmény: ARPING 00:14:78:ef:fe:88 60 bytes from 111.111.111.111 (00:14:78:ef:fe:88): icmp_seq=0 time=1.649 msec 60 bytes from 111.111.111.111 (00:14:78:ef:fe:88): icmp_seq=1 time=1.234 msec 60 bytes from 111.111.111.111 (00:14:78:ef:fe:88): icmp_seq=2 time=1.231 msec 60 bytes from 111.111.111.111 (00:14:78:ef:fe:88): icmp_seq=3 time=1.209 msec 60 bytes from 111.111.111.111 (00:14:78:ef:fe:88): icmp_seq=4 time=1.234 msec ^C --- 00:14:78:ef:fe:88 statistics --- 5 packets transmitted, 5 packets received, 0% unanswered (0 extra) ^C === Vizsgálat IP cím alapján === Adott IP címen elérhető gép? arping -I enp2s0 -c 3 192.168.5.10 === Duplikált IP cím kutatás === Futtatjuk az arping parancsot: arping -D -I enp2s0 -c 2 192.168.5.10 Ha duplikálva van az IP cím, akkor 0 érték jelenik meg, visszatérési értékként. Vizsgálat: echo $? Az 1-es érték mutatja, hogy nincs duplikáció. Kapcsolók: * -D duplikált címek keresése * -I interfész megadása * -c ennyi csomag küldése ==== arp-scan ==== apt install arp-scan Példa: A hálózatba csatlakoztattam egy új gépet, de nem tudom milyen IP címet kapott. A következő paranccsal szkennelem a hálózatot: arp-scan -l A -l kapcsolóval teljesen ekvivalens a --localnet. Interface: eth0, datalink type: EN10MB (Ethernet) Starting arp-scan 1.6 with 256 hosts (http://www.nta-monitor.com/tools/arp-scan/) 192.168.1.1 d8:5d:4c:85:e4:18 (Unknown) 192.168.1.100 b8:27:eb:d1:f1:a9 (Unknown) 2 packets received by filter, 0 packets dropped by kernel Ending arp-scan 1.6: 256 hosts scanned in 1.381 seconds (185.37 hosts/sec). 2 responded Az eredmények egyik az újonnan csatlakoztatott gép IP és Mac címe. A 172.16.0.0/16 hálózatból szeretném a bekapcsolt gépeket: arp-scan 172.16.0.0/16 A 172.16.16.0/24 hálózatból szeretném a bekapcsolt gépeket: arp-scan 172.16.16.0/24 Duplázott IP címek keresése, példa: arp-scan -I ens32 -l Az ens32 a hálózati kártya neve. ... 10.1.0.1 00:50:56:93:c8:b7 VMware, Inc. (DUP: 2) 10.1.0.1 00:50:56:93:be:58 VMware, Inc. (DUP: 3) 10.1.100.219 f8:94:c2:f9:ba:05 (Unknown) 10.1.0.1 00:50:56:93:c8:b7 VMware, Inc. (DUP: 4) Két különböző hardvercím tartozik egyazon IP címhez. Lásd még az nmap programot. ==== jnettop ==== === Leírás === Hálózati forgalom figyelése. A jnettop egy interaktív felületen biztosítja a forgalom valósidejű figyelését. === Telepítés === apt-get install jnettop === Használat === jnettop Kilépés: Q Beállíthatunk konkrét hálózati kártyát. Például: jnettop -i eth1 Alkalmas szippantó tevékenységre (promiscuous mód) is. jnettop -p vagy jnettop --promiscuous A -x vagy --filter kapcsolókkal szűrési szabályokat adhatunk meg. A szűrési szabályok szintaxisa megegyezik a tcpdump szintaktikájú. Használatához lásd a tcpdump(1) kézikönyvet. ==== iptraf ==== === Leírás === Az iptraf egy menüs csomag és kapcsolatmonitorozó eszköz, ncurses alapokon. === Telepítés === apt-get install iptraf === Indítás === iptraf ==== traceroute ==== === Leírás === Csomagok nyomonkövetése a hálózaton. === Futtatás === Szeretnénk megnézni a szit.hu domainig, hány csomóponton megy át a csomagunk. traceroute -I szit.hu Eredmény: traceroute to szit.hu (195.21.31.224), 30 hops max, 60 byte packetes 1 * * * 2 * * * 3 * * * 4 * * * 5 * * * 6 * * * 7 * * * 8 * * * 9 zold.and (195.21.31.224) 30.308 ms 32.644 ms 35.827 ms * A -I ICMP csomagokat küld. * A -T syn jelzős TCP csomagokat küld. ==== tcptracroute ==== A tcptraceroute TCP kapcsolaton keresztül követi a csomagok útját csomópontokon keresztül. tcptraceroute szit.hu 80 Selected device eth0, address 192.168.1.4, port 36547 for outgoing packets Tracing the path to szit.hu (195.21.31.224) on TCP port 80 (www), 30 hops max 1 192.168.1.1 0.403 ms 0.220 ms 0.171 ms 2 * * * 3 * * * 4 * * * 5 * * * 6 * * * 7 * * * 8 * * * 9 zold.and (195.21.31.224) [open] 9.527 ms 9.547 ms 10.291 ms ==== netstat ==== Hálózati kapcsolatok, routing tábla, hálózati eszközök, maszkolt kapcsolatok, csoportos átvitel megjelenítése. netstat -nt A fenti példában, például nem szeretném feloldani a számokat nevekké (-n kapcsoló), és csak TCP kapcsolatokat szeretném látni (-t kapcsoló). A MySQL milyen porton hallgatózik: netstat -tap | grep mysql Az eredmény ilyen lehet: tcp 0 0 localhost:mysql *:* LISTEN 1026/mysqld Milyen program/programok generálnak forgalmat? netstat -np | grep -v ^unix A -n kapcsoló hatására nem szeretnénk névfeloldást. A -p kapcsoló hatására szeretnénk megjeleníteni azon programok neveit és PID számait, amelyek forgalmat generálnak. ==== iptstate ==== === Leírás === A iptstate egy top szerű program az iptables kapcsolatkövető táblájának (state tábla) megtekintéséhez. === Telepítés === apt-get install iptstate === Használat === iptstate === Honlap === * http://www.phildev.net/iptstate/ ==== tcpdump ==== A hálózati forgalom figyelése A echo request kéréseket szeretnénk: tcpdump 'icmp[icmptype] == icmp-echo' Minden olyan csomagot szeretnék, amely nem visszhang kérés és nem visszhang válasz: tcpdump 'icmp[icmptype] != icmp-echo and icmp[icmptype] != icmp-echoreply' A helyi géről a 192.168.5.1-es gépekre haladó csomagok: tcpdump net 192.168.5.1 A webes forgalom figyelése: tcpdump -A -s 0 port 80 DHCP ellenőrzése: tcpdump -i eth0 port bootps -vvv Elkapjuk az ICMP csomagokat az eth0 eszközön, és nem kérünk névfeloldást (-n): tcpdump -ni eth0 icmp A helyi teszteléshez a lo interfészt kell figyelnünk, hiába írunk a telnet program után külső IP címet, a csomag a loopback interfészen fog utazni. Tesztelés helyben: tcpdump -i lo "port 25" telnet 192.168.5.4 25 Csak adott port esetén jelenítse meg: tcpdump port 80 Csak adott forrsáportról érkező csomagok: tcpdump src port 80 Csak adott forrsáportról érkező csomagok: tcpdump src port 80 Irodalom: * https://danielmiessler.com/study/tcpdump/ ==== netcat ==== Írás és olvasás a hálózati forgalomba. Például kapcsolódjunk egy SMTP szerverhez: nc localhost 25 A példa további folytatásához az [[http://www.ietf.org/rfc/rfc2821.txt|SMTP kommunikáció]] ismerete szükséges. Levélküldő script: #!/bin/bash ( echo "ehlo gep1" echo "mail from: juci@gep1" echo "rcpt to: joska@gep2.zold.and" echo "data" echo "From: Juci" echo "To: Joska" echo "Subject: Teszt level" echo "Teszt levél" echo "." echo "quit" ) | nc 192.168.5.6 25 Másik példa: #!/bin/bash function mail_input { echo "ehlo gep1" echo "mail from: ica@gep1" echo "rcpt to: joska@gep2.zold.and" echo "data" echo "From: Ica" echo "To: Joska" echo "Subject: Teszt level" echo "Teszt level ujra" echo "." echo "quit" } mail_input | nc 192.168.5.6 25 ==== cryptcat ==== apt install cryptcat cryptcat -h man cryptcat ==== lnstat ==== A hálózatról ad információkat. A /proc/net/stat/ állományait lehet vele listázni fájl és kulcsok alapján. A fájlok és kulcsok listája: lnstat -d Fájlok és kulcsok megadásával szűrhetünk: lnstat -k arp_cache:entries, rt_cache:in_hit,arp_cache:destroys ==== nstat ==== Hálózati statisztika. Az nstat futtatása önmagában ehhez hasonló eredményeket produkál: IpInReceives 65816 0.0 IpInAddrErrors 2 0.0 IpInDelivers 65794 0.0 IpOutRequests 54342 0.0 ... ==== routel ==== A routing kiíratása szebb formában. Legalábbis szándék szerint. Az iproute csomag része (Ebben a csomagban találhatók a következő parancsok is: ip, rtacct, rtmon, ss, tc, lnstat, nstat, routef). routel routel local Az utóbbi eredménye: target gateway source proto scope dev tbl 192.168.1.0 broadcast 192.168.1.4 kernel link eth0 127.255.255.255 broadcast 127.0.0.1 kernel link lo 192.168.1.4 local 192.168.1.4 kernel host eth0 192.168.1.255 broadcast 192.168.1.4 kernel link eth0 127.0.0.0 broadcast 127.0.0.1 kernel link lo 127.0.0.1 local 127.0.0.1 kernel host lo 127.0.0.0/ 8 local 127.0.0.1 kernel host lo ==== ss ==== A socketek vizsgálata. Az összes socket megtekintése: ss -a Hallgatózó socketek: ss -l A hallgatózó socketeket milyen folyamat tartja fent: ss -l -p ==== route ==== A routingtábla kiíratása és változtatása. Paraméter nélkül kiírja a routing táblát: route Lehetséges eredmény: Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface 192.168.5.0 * 255.255.255.0 U 1 0 0 eth0 default 192.168.5.1 0.0.0.0 UG 0 0 0 eth0 Az eredményből látjuk, hogy az alapértelmezett átjáró a 192.168.5.1, vagyis ezen keresztül érjük az internetet. ==== ip ==== A routing tábla kezelése. Az ip parancsnak meg kell adni egy objektumot. Lehetséges objektumok: * link * addr * addrlabel * route * rule * neigh * tunnel * maddr mroute * monitor ip route show Lehetséges eredmény: 192.168.5.0/24 dev eth0 proto kernel scope link src 192.168.5.4 metric 1 default via 192.168.5.1 dev eth0 proto static Az eth0 linkjének megtekintése: ip link show eth0 Lehetséges eredmény: 2: eth0: mtu 1500 qdisc pfifo_fast state UNKNOWN qlen 1000 link/ether 00:50:8d:7c:ab:04 brd ff:ff:ff:ff:ff:ff ==== nmap ==== Nyitott portok keresése. apt-get install nmap nmap 172.16.1.130 Starting Nmap 6.47 ( http://nmap.org ) at 2016-03-22 16:57 CET Nmap scan report for zold.and (172.16.1.130) Host is up (0.00013s latency). Not shown: 997 filtered ports PORT STATE SERVICE 25/tcp open smtp 80/tcp open http 995/tcp closed pop3s MAC Address: 08:00:27:5C:A5:76 (Cadmus Computer Systems) Ha kimenetben egyik sorában a closed szó szerepel, az adott port nyitva van ugyan, de folyamat nem fut mögötte. Nincs telepítve, vagy le van állítva, vagy más dolog miatt nem üzemel. Grafikus felülettel: apt-get install zenmap Rootként futtatható zenmap paranccsal. Használat: nmap localhost Nézzük meg, hogy a 192.168.16.0 hálózatban van-e 445-ös part nyitva. nmap -sT 192.168.16.1-254 -p 445 UDP portok keresése: nmap -sU 192.168.1.112 DHCP szerver felderítése: nmap -sU 192.168.1.112 -p 67-68 Milyen gépek vannak a hálózatban, milyen portokkal: nmap 192.168.1.1-255 Bekapcsolt gépek a hálózaton: nmap -sP 192.168.5.0/24 Van-e 172.16.1.1 -- 172.16.1.1 gépek között, olyan amelyiken a 22 port van nyitva: nmap 172.16.1.1-200 -p 22 ==== openvas ==== apt-get openvas-client openvas-server Nem biztonságos portok keresése. ==== iftop ==== === Leírás === A hálózati eszköz forgalmának figyelése. === Telepítés === apt-get install iftop === Használat === iftop {{:oktatas:linux:iftop.png|}} Kilépés: q A "h" billentyűvel újabb használható billentyűket tekinthetünk meg. Kisbetű és nagybetű különböző! A "P" (nagy P billentyű) megállítja a képernyőt. Ez hasznos lehet, mivel a program valós időben mutatja a történéseket. A "p" (kis p billentyű) a port megjelenítést kapcsolja ki vagy be. ==== nload ==== Hálózati eszköz forgalmának figyelése folyamatában. Telepítés: apt-get install nload Indítás: nload {{:oktatas:linux:nload.png?400|}} Kilépés: q Az F2 billentyűvel megtekinthetjük az érvényes opciókat. ==== tshark ==== Parancssoros hálózati analizátor program. A tshark program a tshark csomag része: apt-get install tshark Telepítéskor megkérdezi, szeretnénk-e beállítani, hogy a rendszergazdán kívül más felhasználó is használhassa programot. Erre ajánlott igennel válaszolni, mivel biztonságosabb, ha csak felhasználóként futtatjuk. A felhasználó automatikusan nem használhatja a programot. Ha igennel válaszoltunk a telepítéskor, akkor létrejött egy wireshark nevű csoport. Ha a csoportba felveszünk egy felhasználót, ez a felhasználó használhatja a tshark programot. A thsark a wireshark programmal közös beállításokat és könyvtárakat használ. Ezért kell a wireshark csoprotot használni. Használata: tshark 'port ftp or ftp-data' tshark -d tcp.port==80,http ==== wireshark ==== A hálózati forgalmat tudjuk analizálni. Rootként kell futtatni. apt-get install wireshark Debian GNU/Linuxon alapértelmezetten a felhasználók nem nézegethetik a hálózati kártya forgalmát. Rendszergazdaként pedig nem illik használni programot. Ezért konfiguráljuk újra a wireshark programot, ekkor létrejön a wireshark csoport, amelybe felvehetjük azokat a felhasználókat, akiknek engedélyezni szeretnénk a hálózati kártyák monitorozását. Ha egy felhasználót felvettünk egy csoportba, akkor az adott felhasználóval ki kell lépni és vissza. Mindezek együtt a telepítéssel: apt-get install wireshark dpkg-reconfigure wireshark-common usermod -a -G wireshark $USER A dpkg-reconfigure kérdezi: ... A rendszergazdán kívül más felhazsnálók is képesek legyenek lahallgatni a hálózati forgalmat? Kérdésére a válasz Majd felhasználóként jelentkezzünk ki: exit Filter: pop and ip.src==192.168.5.4 A fenti filterben csak a 110 portot célzó és 192.168.5.4-es IP címről érkező csomagokat szeretnénk látni. De ugyanezt leírhatjuk így is: tcp.port eq 110 and ip.src==192.168.5.4 Egy http forgalomban keresünk valamit: http contains tartalom Filterbeállításokról: * http://wiki.wireshark.org/DisplayFilters ==== etherape ==== === Leírás === A hálózati forgalmat tudjuk vele figyelni. Rootként kell indítani. A program grafikus felületű! === Telepítés === apt-get install etherape Weblap: * http://etherape.sourceforge.net ==== ngrep ==== Hálózati csomaganalizátor. Az eth0 eszközön bejövő forgalmat elkapjuk és a következők szerint megjelenítünk: * csak TCP alapú * csak HTTP forgalmat 80 porton * Csak azokat ahol egy sor elején szerepel a GET vagy a POST külcsszó ngrep -l -q -d eth0 "^GET |^POST " tcp and port 80 Telepítés: apt-get install ngrep ==== nast ==== === Leírás === Hálózat analizáló === Telepítés === apt-get isntall nast === Használat === nast Promiscuous módban indul. Ennél több nem szükséges. A -i kapcsolóval megadható hálózati eszköz is. nast -i eth1 A -f vagy --filter kapcsolóval pedig szűrést állíthatunk be. A szűrő szintaktika a man nast kézikönyv "FILTER SYNTAX" része tartalmazza. A 192.168.1.1 címről érkező csomagokra vagyok kíváncsi: nast -f "src 192.168.1.1" A 192.168.1.1 címről csak a TCP kapcsolatokra vagyok kíváncsi: nast -f "tcp and src 192.168.1.1" A 192.168.1.1 címről csak a TCP kapcsolatokra vagyok kíváncsi, amelyek a 80-as portról érkeznek: nast -f "tcp and src 192.168.1.1 and port 80" === Ncurses felület === Van ncurses alapú felülete. Ez a -G kapcsolóval használhatjuk. nast -G vagy: nast --ncurses Kilépés: F1 után a menüpontok aktívak lesznek. De az egyes menüpontok külön is elérhetők. (S)niffer (A)nalyzer (O)ptions (F1) Az Options menüben van kilépés menüpont, de a Ctrl+C is segít. ==== tcpick ==== === Leírás === TCP kapcsolat analizáló. === Telepítés === apt-get install tcpick === használat === tcpick man tcpick === Példa === important: `man 8 tcpick' explains all options available Starting tcpick 0.2.1 at 2013-05-18 08:21 CEST Timeout for connections is 600 tcpick: listening on eth0 1 SYN-SENT 192.168.1.4:50109 > 173.194.39.137:www 2 SYN-SENT 192.168.1.4:51803 > 84.2.2.103:www 3 SYN-SENT 192.168.1.4:35007 > 84.2.2.99:www 4 SYN-SENT 192.168.1.4:40292 > 84.2.2.99:https 1 SYN-RECEIVED 192.168.1.4:50109 > 173.194.39.137:www 1 ESTABLISHED 192.168.1.4:50109 > 173.194.39.137:www 2 SYN-RECEIVED 192.168.1.4:51803 > 84.2.2.103:www 2 ESTABLISHED 192.168.1.4:51803 > 84.2.2.103:www 3 SYN-RECEIVED 192.168.1.4:35007 > 84.2.2.99:www 3 ESTABLISHED 192.168.1.4:35007 > 84.2.2.99:www ... ==== netsniff-ng ==== Hálózat analizálás: apt-get install netsniff-ng ==== dsniff ==== Hálózati sniffer apt-get install dsniff Telepítés után a következő parancsok vannak: * arpspoof - Csomag átirányítása egy cél (vagy az összes) hosztról a lokális hálózatra. * dnsspoof - * dsniff - Jelszó szimatoló * filesnarf * macof * mailsnarf * msgsnarf * sshmitm * sshow * tcpkill * tcpnice * urlsnarf * webmitm * webspy Több információért látogasd meg a következő állományt: /usr/share/doc/dsniff/README és a parancsok kézikönyveit. ==== ettercap ==== Sniffer és tartalomszűrő közbeékelődős tevékenységhez. apt-get install ettercap Indításhoz felhasználói felületet kell választani: -T, --text -C, --curses -G, --gtk A curses használata ajánlott. a text az minden ömleszt a képernyőre, a gtk meg fagyogat. A curses felületen az egyes ablakokat Ctrl + Q billentyűkombinációval lehet bezárni, ekkor visszakapjuk a menüt. ==== hunt ==== Hálózatbiztonsági analizátor. apt-get install hunt Indítás: hunt Az eredmény ehhez hasonló: /* * hunt 1.5 * multipurpose connection intruder / sniffer for Linux * (c) 1998-2000 by kra */ starting hunt --- Main Menu --- rcvpkt 0, free/alloc 64/64 ------ l/w/r) list/watch/reset connections u) host up tests a) arp/simple hijack (avoids ack storm if arp used) s) simple hijack d) daemons rst/arp/sniff/mac o) options x) exit -> Egy menü várja, hogy válasszunk. Az u) menüpontot választva például megnézhetjük milyen hosztok vannak bekapcsolva. ==== darkstat ==== Hálózati forgalom gyűjtése. apt-get install darkstat mcedit /etc/darkstat/init.cfg START_DARKSTAT=yes invoke-rc.d darkstat start netstat -tap | grep 667 ==== snort ==== Hálózatfigyelő apt-get install snort Telepítéskor rákérdez a hálózatra. Alapértelmezésként a következő van beállítva: 192.168.0.0/16 Virtuális gépen teszteltem, így a következőre javítottam: 192.168.1.0/24 Teszteljük a működést. Egy nmap programmal "másik gépről" szkenneljük végig a portokat: nmap 192.168.1.112 A gép amire feltelepítettem a snort, annak az IP címe a 192.168.1.112. Nézzük meg a /var/log/snort/ könyvtár tartalmát. Két naplóállomány fogunk találni, bennük a szkennelésről feljegyzés. Ui.: A scanlogd nevű program, sajnos semmit nem vett észre az nmap-ból. ==== lsof ==== Az lsof a nyitott fájlok listázására való, de megmondja, azt is melyik portot mi tartja nyitva -i kapcsolóval: lsof -i Milyen TCP kapcsolatok vannak a gépünkön: lsof -i tcp ==== fuser ==== Az fuser parancs a psmisc csomagban található. Segítségével beazonosítható, melyik folyamat használ egy adott portot. Az eredményt PID számban kapjuk. Mely folyamatok használják a 80-as portot? fuser www/tcp www/tcp: 1474 10284 22123 22124 22125 22126 22127 ==== nbtscan ==== Az nbtscan csommaggal telepszik: apt-get install nbtscan NetBIOS nevek keresése. NetBIOS státusz kérést küld minden címre a megadott hálózatban, majd a kapott információt olvasható formában közli. Kapunk egy IP címet, egy NetBIOS számítógépnevet, a bejelentkezett felhasználó nevét és a MAC címet. Például: nbtscan -r 192.168.16.0/24 Eredmény: Doing NBT name scan for addresses from 192.168.16.0/24 IP address NetBIOS Name Server User MAC address --------------------------------------------------------------------------------------------------- 192.168.16.0 Sendto failed: Permission denied 192.168.16.21 192.168.16.20 C16-20 00:19:66:ef:58:cc 192.168.16.255 Sendto failed: Permission denied 192.168.16.252 FILESERVER FILESERVER 00:00:00:00:00:00 192.168.16.253 SERVER SERVER 00:00:00:00:00:00 ==== sntop ==== Curses alapú hálózati top program. (sntop) simple network top HOST STATUS COMMENT Gator DOWN local linux/alpha server Yahoo UP something on the outside localhost UP does loopback even work? 3 hosts polled: 2 up, 1 down ==== netdiscover ==== Hálózati címkereső, amely arp kérésekkel kérdezi le a hálózatokat. # apt install netdiscover # netdiscover Az eredmény ehhez hasonló lehet: Currently scanning: Finished! | Screen View: Unique Hosts 2 Captured ARP Req/Rep packets, from 2 hosts. Total size: 120 _____________________________________________________________________________ IP At MAC Address Count Len MAC Vendor / Hostname ----------------------------------------------------------------------------- 192.168.5.1 a0:f3:c1:d7:5c:7a 1 60 TP-LINK TECHNOLOGIES CO.,LTD 192.168.5.100 88:83:22:fd:92:0e 1 60 Samsung Electronics Co.,Ltd ==== xprobe ==== Távoli rendszer operációs rendszerének lekérdezése. Telepítés: apt-get install xprobe Használat: xprobe2 localost A program többféle csomagot küld a hálózaton a távoli gépnek, a válaszokból megpróbálja megsaccolni, milyen operációs rendszer lehet. Az eredményt százalékosan jeleníti meg. ==== httest ==== Webszerver és kliens tesztelő, teljesítménymérő. apt-get install httest A httest használatához írnunk kell egy scriptet, amelyben leírjuk mit kell tenni. Egy egyszerű példa: CLIENT _REQ localhost 80 __GET / HTTP/1.1 __Host: localhost __ _EXPECT . "HTTP/1.1 200 OK" _WAIT END A példában a helyi webszervertől lekérünk egy weboldalt. A kimenet ehhez hasonló lehet: >GET / HTTP/1.1 >Host: localhost >

It works!

<

This is the default web page for this server.

<

The web server software is running but no content has been added, yet.

< OK
Először a futtatott scriptet látjuk viszont, utána az adott szerverrel történő kommunikációt. A httest "<" és ">" karakterekkel jelzi, hogy a szervernek küldtük vagy az küldte vissza az adott sort. Még több példáért, érdemes körülnézni a projekt weboldalán: * http://htt.sourceforge.net/ ==== httping ==== Webszerver teljesítménymérő. Telepítés: apt install httping Használat: httping zold.hu ==== sendemail ==== SMTP email kliens apt-get install sendemail Nem tévesztendő össze a levelezőszerverrel (sendmail) ! ==== hping3 ==== Tetszőleges TCP/IP csomagok küldése a hálózat gépeinek. A hping3 parancs a vele azonos nevű csomagban van. A telepítése tehát a következő: apt-get install hping3 ==== mz ==== apt-get install mz Csomag és hálózati forgalom generátor. Mindenféle érvényes és érvénytelen csomag generálható vele. VoIP és multicast hálózatok tesztelésére kiváló. Küldjünk egy ARP kérést, amely megkérdezni milyen MAC cím tartozik a 192.168.5.1-es címhez: mz -t arp "request, targetip=192.168.5.1" A példa kedvéért a tcpdump paranccsal figyelhetjük a választ: tcpdump -n arp A tcpdump lehetséges kimenete: 19:21:08.726085 ARP, Request who-has 192.168.5.4 tell 192.168.5.1, length 46 19:21:08.726102 ARP, Reply 192.168.5.4 is-at 00:50:8d:7c:ab:04, length 28 * http://www.perihel.at/sec/mz/ ==== dhcping ==== A dhcping parancs megmondja a DHCP szerver válaszol-e. Telepítése: apt-get install dhcping Használata: dhcping -h 00:f0:4d:7c:ab:04 -c 192.168.5.6 -s 192.168.5.1 Ha válaszol: Got answer from: 192.168.5.1 ==== irpas ==== Az irpas egy csomag, amely a rendszergazda számára tartalmaz néhány programot. Telepítés: apt-get install irpas A telepítéshez az /etc/apt/sources.list fájlban be kell állítani a non-free csomagok használatát. A licence alapján nem üzleti felhasználásra ingyenes. Parancsok: * ass * cdp * dfkaa * dhcpx * file2cable * hsrp * icmp_redirect * igrp * inetmask * irdp * irdpresponder * itrace * netenum * protos * tctrace * timestamp Az eredeti programokhoz nem létezik kézikönyv, de a Debian készítői néhány parancs számára elkészítették: ass, cdp, file2cable, igrp, inetmask, irdp, irdpresponder, itrace, tctrace A csomag leírás alapján hálózati útválasztó támadó eszközkészlet, amelyet tesztelés és hibakövetési céllal hoztak létre. Vegyük például a itrace parancsot. ICMP alapú nyomkövetést teszt lehetővé. Használata: $ itrace -i eth0 -d zold.and 1(1) [192.168.1.1] 2(all) Timeout 3(all) Timeout 4(all) Timeout 5(all) Timeout 6(all) Timeout 7(all) Timeout 8(all) Timeout 9(1) [196.228.156.159] (reply) A példában a zold.and tartománynevet követem vissza. Az alapértelmezett TTL érték 30 másodperc. A -m kapcsolóval ezen változtathatunk: itrace -i eth0 -m 60 -d zold.and A tctrace parancs ugyanígy működik, csak TCP csomagokat használ SYN jelzővel beálltva a nyomkövetéshez. A protos paranccsal a támogatott protokollok kérdezhetők le. Használatához a -d után egy IP címet kell megadnunk: protos -i eth0 -d 192.168.1.1 A protos parancsnak nincs kézikönyve, de a -h kapcsoló segít a használatában. Példa: protos -i eth0 -d 192.168.1.4 >>>>>>>>> RESULTS >>>>>>>>>> 192.168.1.4 may be running (did not negate): ICMP IGMP TCP UDP PIM 138 vagy: protos -i eth0 -d 192.168.1.1 >>>>>>>>> RESULTS >>>>>>>>>> 192.168.1.1 may be running (did not negate): ICMP GGP ST TCP IGP NVP-II ARGUS XNET UDP DCN-MEAS PRM TRUNK-1 LEAF-1 RDP ISO-TP4 MFE-NSP SEP IDPR DDP TP++ IPv6 IPv6-Route IDRP GRE BNA AH SWIPE MOBILE SKIP IPv6-NoNxt 61 63 KRYPTOLAN IPPC SAT-MON IPCV CPHB PVP SUN-ND WB-EXPAK VMTP VINES NSFNET-IGP TCF OSPFIGP LARP AX.25 MICP ETHERIP 99PrivEncr IFMP PIM SCPS A/N SNP IPX-in-IP L2TP IATP SRP SMP PTP FIRE CRUDP IPLT PIPE FC 135 137 139 141 143 145 147 149 151 153 155 157 159 161 163 165 167 169 171 173 175 177 179 181 183 185 187 189 191 193 195 197 199 201 203 205 207 209 211 214 216 218 220 222 224 226 228 230 232 234 236 238 240 242 244 246 248 250 252 254 A dhcpx parancs egy DHCP szerver gyakorlóeszköz. Meg kell adni milyen hálózati kártyán figyeljen a szerver. Példa a szerverindításra: dhcpx -i eth0 -vvv ==== sslsniff ==== SSL/TLS kapcsolat támadás teszt. apt-get install sslsniff sslsniff -t -p -w -m IPSCACLASEA1.crt -c ==== tcpflow ==== Telepítés: apt-get install tcpflow A tcpflow segítségével belehallgathatunk egy TCP kapcsolatba. tcpflow -i eth0 -c port 110 ==== vnstat ==== Havi és napi hálózati statisztikát készítő szolgáltatás. apt-get install vnstat A telepítés után elindul a /usr/sbin/vnstatd program, hogy adatokat gyűjtsön. Démonként vezérelhető a következő parancsokkal: invoke-rc.d vnstat stop invoke-rc.d vnstat start invoke-rc.d vnstat restart Az /etc/vnstat.conf fájlban konfigurálható. A man vnstat.conf kézikönyv segít a konfigurációs beállításokban. Az adatokat a /var/lib/vnstat/ könyvtárban gyűjti, és a vnstat paranccsal tudjuk megjeleníteni: vnstat Ha több hálózati interfészünk van, akkor azok között válogathatunk a -i vagy --iface kapcsolókkal. ==== arpon ==== Az ARP poisoning (mérgezés) sokoldalú ellenszere. Telepítés: apt-get install arpon A következő állományban kell bekapcsolni: /etc/default/arpon RUN="yes" ==== netwox ==== Telepítés: apt-get install netwox Konzolon menüs, de grafikus felülettel is rendelkező hálózati eszközök gyűjteménye. Több mint 200 eszköz: * sniff, spoof * kliens, szerver * DNS, FTP, HTTP, IRC, NNTP, SMTP, SNMP, SYSLOG, TELNET, TFTP * keresés, nyomkövetés ==== psad ==== Port szkennelés támadás detektor. Telepítés: apt-get install psad Négy rendszerdémon C és Perl nyelven írva. A következő lehetőségeket tartalamzza * különböző veszélyszintek beállítása * figyelmeztetőüzenetek, amelyek célokat, forrásokat, port tartományokat, TCP jelzők, nmap lehetőségek * DNS feloldás * riasztások e-mailben * dinamikus tűzfal konfiguráció, a támadó IP címek tiltása ==== iperf ==== Az iperf3 csomagban az iperf3 program, lehetővé teszi hálózati kapcsolatok vizsgálatát. Indítsunk a távoli szerveren egy szervert: iperf3 -s Majd helyben indítsunk egy klienst: iperf -c masi_gep_cime A lehetséges kimenet: Server listening on 5201 ----------------------------------------------------------- Accepted connection from 192.168.5.5, port 55225 [ 5] local 192.168.5.103 port 5201 connected to 192.168.5.5 port 55226 [ ID] Interval Transfer Bandwidth [ 5] 0.00-1.00 sec 5.30 MBytes 44.5 Mbits/sec [ 5] 1.00-2.00 sec 5.56 MBytes 46.6 Mbits/sec [ 5] 2.00-3.00 sec 5.68 MBytes 47.6 Mbits/sec [ 5] 3.00-4.00 sec 5.57 MBytes 46.7 Mbits/sec [ 5] 4.00-5.00 sec 5.51 MBytes 46.2 Mbits/sec [ 5] 5.00-6.00 sec 5.62 MBytes 47.1 Mbits/sec [ 5] 6.00-7.00 sec 5.53 MBytes 46.4 Mbits/sec [ 5] 7.00-8.00 sec 4.36 MBytes 36.6 Mbits/sec [ 5] 8.00-9.00 sec 5.57 MBytes 46.7 Mbits/sec [ 5] 9.00-10.00 sec 5.46 MBytes 45.8 Mbits/sec [ 5] 10.00-10.06 sec 349 KBytes 44.8 Mbits/sec - - - - - - - - - - - - - - - - - - - - - - - - - [ ID] Interval Transfer Bandwidth Retr [ 5] 0.00-10.06 sec 54.7 MBytes 45.6 Mbits/sec 16 sender [ 5] 0.00-10.06 sec 54.5 MBytes 45.4 Mbits/sec receiver ----------------------------------------------------------- Server listening on 5201 ----------------------------------------------------------- ==== mdk3 ==== Az mdk3 segítségével a vezeték nélküli hálózatok támadását tesztelhetjük. Weboldal: * https://tools.kali.org/wireless-attacks/mdk3 Telepítés Debian GNU/Linux alatt: apt install mdk3 Segítség: mdk3 --help vagy: man mdk3 ===== Folyamatok ===== ==== strace ==== Rendszerhívások nyomonkövetése. Írjuk meg a példa kedvéért a következő egyszerű példaprogramot C nyelven: #include main() { printf("Viszga teszt\n"); } Fordítsuk le, majd futtassuk: gcc -o main main.c ./main A program kiírja a "Viszga teszt" szöveget majd sort tör. Most futtasuk a strace programmal: strace ./main A sok kiír sorban látunk például egy ilyet: write(1, "Vizsga teszt\n", 13Vizsga teszt Láthatjuk, hogy program a háttérben a write() rendszerhívást hívja. ==== strace64 ==== 64 bites programok rendszerhívásait tudjuk vele nyomon követni. ==== atop ==== A rendszer és a folyamatok statisztikája. apt-get install atop Rendszergazdaként indítsuk el az atop paranccsal, a következőhöz hasonló felületet látunk: ATOP - evelin 2013/04/06 08:43:19 10 seconds elapsed PRC | sys 0.15s | user 0.19s | #proc 182 | #zombie 1 | #exit 0 | CPU | sys 1% | user 1% | irq 0% | idle 98% | wait 0% | CPL | avg1 0.17 | avg5 0.19 | avg15 0.18 | csw 3385 | intr 925 | MEM | tot 1.5G | free 98.8M | cache 677.4M | buff 76.7M | slab 35.6M | SWP | tot 486.3M | free 486.3M | | vmcom 1.8G | vmlim 1.2G | DSK | sda | busy 0% | read 0 | write 15 | avio 0 ms | NET | transport | tcpi 1 | tcpo 1 | udpi 0 | udpo 0 | NET | network | ipi 1 | ipo 1 | ipfrw 0 | deliv 1 | NET | eth0 0% | pcki 2 | pcko 2 | si 0 Kbps | so 0 Kbps | PID SYSCPU USRCPU VGROW RGROW RDDSK WRDSK ST EXC S CPU CMD 1/1 1415 0.05s 0.08s 0K 0K 0K 0K -- - S 1% Xorg 3364 0.02s 0.09s 0K 24K 0K 0K -- - S 1% gnome-terminal 3090 0.03s 0.01s 0K 0K 0K 0K -- - S 0% multiload-appl 3753 0.03s 0.00s 0K 0K 0K 0K -- - R 0% atop 3425 0.01s 0.00s -148K -168K 0K 0K -- - S 0% chrome 3433 0.00s 0.01s -148K -148K 0K 0K -- - S 0% chrome 231 0.01s 0.00s 0K 0K 0K 0K -- - S 0% scsi_eh_3 3215 0.00s 0.00s 0K 0K 0K 0K -- - S 0% chrome 3017 0.00s 0.00s 0K 0K 0K 0K -- - S 0% gnome-settings Az atop valós időben mutatja számunkra a folyamatok jellemzőit. Az atop azonban démonként is elindul és 10 percentként naplót is ír. Az atop démon szabályozása a következő állomány elején lehetséges: /etc/default/atop A többi beállítás: /etc/init.d/atop A naplózás gyakoriságát például az INTERVAL változó értéket határozza meg, amely alapértelmezetten 600, azaz 10 perc. ==== slabtop ==== A procps csomagban található, az slabtop program. slabtop Active / Total Object (% used) : 1443102 / 1460931 (98,8%) Active / Total Slabs (% used) : 130974 / 130973 (100,0%) Active / Total Caches (% used) : 126 / 202 (61,4%) Active / Tital Size (% used) : 5126145,75 / 518490,02K (99,6) Minimum / Average / Maximum Object : 0,02K / 0,35K / 4096,00K OBJS ACTIVE USE OBJ SIZE SLABS OBJ/SLAB CACHE SIZE NAME 407715 407544 99% 0,19K 19415 21 77660K dentry 352132 352116 99% 0,98K 88033 4 352132K ext4_inode_cache 137907 137824 99% 0,10K 8258 39 33032K buffer_head ... Esetleg egyéb rendezéssel: slabtop --sort=a slabtop --sort=b slabtop --sort=c slabtop --sort=l slabtop --sort=v slabtop --sort=n slabtop --sort=o ==== Saidar ==== Rendszerstatisztika, curses alapokon. Telepítés: apt-get install saidar Indítás: saidar ==== smem ==== Az smem a memória használatról ad információt. Osztott memória, swapt, stb. apt-get install smem Indítás: smem ==== sysdig ==== A sysdig megmutatja egy folyamat milyen tevékenységeket végez. apt-get install sysdig sysdig proc.name=nano Ehhez hasonló hosszú kiemenet: 92939 15:12:04.233464765 1 nano (11921) < read res=1 data=. 92941 15:12:04.233470150 1 nano (11921) > rt_sigprocmask 92942 15:12:04.233471460 1 nano (11921) < rt_sigprocmask 92944 15:12:04.233477239 1 nano (11921) > rt_sigprocmask 92945 15:12:04.233477972 1 nano (11921) < rt_sigprocmask 92949 15:12:04.233511369 1 nano (11921) > select ... ===== Kernel ===== ==== lsmod ==== Az elérhető kernelmodulok listázása A kimenet például: Module Size Used by cpufreq_conservative 4018 0 cpufreq_userspace 1488 0 cpufreq_powersave 602 0 cpufreq_stats 1997 0 ppdev 4058 0 lp 5570 0 sco 5885 2 bridge 33063 0 stp 996 1 bridge bnep 7468 2 rfcomm 25215 0 l2cap 21721 4 bnep,rfcomm ... ==== dmesg ==== Rendszerüzenetek Például kíváncsiak vagyunk a hálózati kártyánkra: dmesg | grep eth0 [ 1.893283] forcedeth 0000:00:05.0: ifname eth0, PHY OUI 0x3f1 @ 1, addr 00:50:8d:7c:ab:04 [ 29.704009] eth0: no IPv6 routers present ==== Egyéb ==== cat /proc/version Lehetséges kimenet: Linux version 2.6.32-5-686 (Debian 2.6.32-48squeeze1) (dannf@debian.org) (gcc version 4.3.5 (Debian 4.3.5-4) ) #1 SMP Mon Feb 25 01:04:36 UTC 2013 ===== Hardver ===== ==== htop ==== Rendszer figyelő CPU[||||| 15.9%] Tasks: 337 total, 1 running Mem[||||||||||||||||||||832/1518MB] Load average: 0.26 0.21 0.12 Swp[| 8/486MB] Uptime: 02:22:03 PID USER PRI NI VIRT RES SHR S CPU% MEM% TIME+ Command 4006 andras 20 0 284M 169M 132M S 5.0 11.1 1:09.86 /usr/lib/virtualbo 2596 andras 20 0 284M 99M 26824 S 3.0 6.6 4:46.19 /opt/google/chrome 1258 root 20 0 69100 22692 9156 S 3.0 1.5 3:01.92 /usr/bin/Xorg :0 - 4142 andras 20 0 2624 1348 984 R 1.0 0.1 0:01.03 htop 3999 andras 20 0 284M 169M 132M S 1.0 11.1 0:14.51 /usr/lib/virtualbo 2449 andras 20 0 172M 32636 17612 S 1.0 2.1 0:09.43 /opt/google/chrome 2823 andras 20 0 91492 12552 9708 S 0.0 0.8 0:04.27 gnome-terminal 2617 andras 20 0 172M 32532 17736 S 0.0 2.1 0:04.57 /opt/google/chrome 2419 andras 20 0 452M 105M 35560 S 0.0 6.9 3:04.59 /opt/google/chrome 3948 andras 20 0 174M 31700 17836 S 0.0 2.0 0:02.65 /opt/google/chrome 2492 andras 20 0 185M 37100 21920 S 0.0 2.4 0:05.73 /opt/google/chrome 1 root 20 0 2032 644 608 S 0.0 0.0 0:00.95 init [2] 414 root 16 -4 2532 636 424 S 0.0 0.0 0:00.08 udevd --daemon 988 daemon 20 0 1808 404 400 S 0.0 0.0 0:00.00 /sbin/portmap 1000 statd 20 0 1936 644 640 S 0.0 0.0 0:00.02 /sbin/rpc.statd 1162 root 20 0 27448 1276 1044 S 0.0 0.1 0:00.00 /usr/sbin/rsyslogd 1172 root 20 0 27448 1276 1044 S 0.0 0.1 0:00.00 /usr/sbin/rsyslogd F1Help F2Setup F3SearchF4InvertF5Tree F6SortByF7Nice -F8Nice +F9Kill F10Quit ==== free ==== A free parancs a memóriahasználatról tájékoztat minket: free -m A -m kapcsoló hatására megabyte-okban írja ki az értékeket. ==== df ==== A szabad lemezterületről ad összegzést a df parancs. df -h A -h hatására olvashatóbb kiírást kapunk. ==== du ==== Lemezfoglaltság összegzése. Célszerű egy konkrét könyvtárra alkalmazni, mert teleírja a képernyőt. Például: du /home/joska Így az összes /home/joska könyvtárban található állományról kiír egy lemezfoglaltsági tájékoztatót. Egy -s kapcsolóval viszont a joska könyvtárról ad egy összefoglalót: du -s /home/joska ==== lspci ==== A PCI kártyák listázása. 00:00.0 Host bridge: nVidia Corporation nForce3 250Gb Host Bridge (rev a1) 00:01.0 ISA bridge: nVidia Corporation nForce3 250Gb LPC Bridge (rev a2) 00:01.1 SMBus: nVidia Corporation nForce 250Gb PCI System Management (rev a1) 00:02.0 USB Controller: nVidia Corporation CK8S USB Controller (rev a1) 00:02.1 USB Controller: nVidia Corporation CK8S USB Controller (rev a1) 00:02.2 USB Controller: nVidia Corporation nForce3 EHCI USB 2.0 Controller (rev a2) ==== lsusb ==== Az USB eszközök listázása. Bus 003 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 002 Device 001: ID 1d6b:0001 Linux Foundation 1.1 root hub Bus 001 Device 002: ID 05e3:0608 Genesys Logic, Inc. USB-2.0 4-Port HUB Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub ==== lshw ==== Jelenlévő hardverek listázása. Előtte telepítés szükséges: apt-get install lshw Rövidebb, táblázatba szedett információt kaphatunk: lshw -sort Képes többféle kimenetre. Például html, xml, sql, stb. ==== lscpu ==== A processzorról ad tájékoztatást. lscpu Lehetséges kimenet: Architecture: i686 CPU op-mode(s): 32-bit, 64-bit Byte Order: Little Endian CPU(s): 2 On-line CPU(s) list: 0,1 Thread(s) per core: 2 Core(s) per socket: 1 Socket(s): 1 Vendor ID: AuthenticAMD CPU family: 21 Model: 16 Stepping: 1 CPU MHz: 1400.000 BogoMIPS: 7186.85 Virtualization: AMD-V L1d cache: 16K L1i cache: 64K L2 cache: 1024K ==== dmidecode ==== Információk a hardverről. dmidecode | less A dmi a Desktop Management Interface szavakból alkotott betűszó. A BIOS információs táblája. Van aki SMBIOS néven ismeri, amely a System Management BIOS szavakból van. A dmidecode a DMI táblát olvassa közvetlenül az alaplapról BIOS részéből. A fenti esetben minden információt kiír. Szűrhetünk az egyes részekre a -t kapcsoló segítségével. Lássuk milyen memóri van az alaplap foglalataiban: dmidecode -q -t memory | less Lehetséges kimenet: Physical Memory Array Location: System Board Or Motherboard Use: System Memory Error Correction Type: Multi-bit ECC Maximum Capacity: 8 GB Number Of Devices: 2 Memory Device Total Width: Unknown Data Width: 64 bits Size: No Module Installed Form Factor: DIMM Set: None Locator: A1_DIMM0 Bank Locator: A1_BANK0 Type: Unknown Type Detail: None Speed: Unknown Manufacturer: A1_Manufacturer0 Serial Number: A1_SerNum0 Asset Tag: A1_AssetTagNum0 Part Number: Array1_PartNumber0 Rank: Unknown Configured Clock Speed: Unknown Memory Device Total Width: 64 bits Data Width: 64 bits Size: 2048 MB Form Factor: DIMM Set: None Locator: A1_DIMM1 Bank Locator: A1_BANK1 Type: DDR3 Type Detail: Synchronous Unbuffered (Unregistered) Speed: 800 MHz Manufacturer: A1_Manufacturer1 Serial Number: A1_SerNum1 Asset Tag: A1_AssetTagNum1 Part Number: Array1_PartNumber1 Rank: Unknown Configured Clock Speed: 62397 MHz Látjuk, hogy csak az egyik foglalatban van memória. Abban egy 2048 MB-s DDR3-as. Információk a processzorról: dmidecode -q -t Processor Az alaplap gyorstárolójáról: dmidecode -q -t cache A megadható típusok listája: * bios * system * baseboard * chassis * processor * memory * cache * connector * slot További lehetőségek a man dmidecode kézikönyvben. ==== powertop ==== Laptop akumlátorfigyelő. ==== iostat ==== Ki és beviteli statisztika. Telepítés: apt-get install sysstat De innen jönnek még a következő parancsok: * mpstat * pidstat * sadf * sar.sysstat ==== vmstat ==== A memóriahasználatról ad statisztikát. vmstat Ha megadunk paraméterként egy számot, akkor ennyi másodpercenként megismétli az információadást. Például 5 másodpercenként: vmstat 5 Számlálók és memóriastatisztikák: vmstat -s ==== sysbench ==== Telepítés: apt-get install sysbench Használat, például: sysbench --test=cpu --cpu-max-prime=20000 run sysbench --test=fileio --file-total-size=150G prepare Teszt után törölje a 150G tesztfájlt: sysbench --test=fileio --file-total-size=150G cleanup MySQL: sysbench --test=oltp --oltp-table-size=1000000 --mysql-db=test --mysql-user=root --mysql-password=rootjelszo prepare ==== inxi ==== Az inxi remek hardver felismerő program. Telepítése: apt-get install inxi Használata: inxi Lehetséges kimenet: CPU~Dual core AMD A6-5400K APU with Radeon HD Graphics (-MCP-) clocked at Min:1400.000Mhz Max:4000.000Mhz Kernel~3.16.0-4-amd64 x86_64 Up~1:33 Mem~1858.7/5843.6MB HDD~1015.9GB(52.5% used) Procs~219 Client~Shell inxi~2.1.28 inxi -F ==== powertop ==== Telepítés: apt install powertop Használat: powertop ==== Egyéb ==== cat /proc/cpuinfo cat /proc/meminfo usb-devices ===== Merevlemez ===== ==== bonnie++ ==== Merevlemez diagnózis. ==== blkid ==== Blokk eszköz tulajdonságainak kiíratása. Persze ez is segíthet: ls -l /dev/disk/by-uuid/ Egy eszköz UUID értékének kiderítésére is szoktuk használni. Az /sbin/blkid parancs a util-linux csomagban található. ==== udevadm ==== udev kezelés. ==== hdparm ==== A háttértárak kezelése. ==== fdisk ==== Partíciónáló. Leggyakrabban használt kapcsoló a -l: fdisk -l Az elérhető partíciókat és tulajdonságaikat listázza. ==== sfdisk ==== Partíciónáló. ==== cfdisk ==== Menüs partícionáló. ==== smartctl ==== Infók a merevlemezről: smartctl -a /dev/sda Health teszt: smartctl -H /dev/sda Bőbeszédű info: smartctrl -x /dev/sda ==== iotop ==== apt install iotop Használat: iotop ==== Egyéb ==== Az elérhető háttértárak: cat /proc/partitions ===== Képernyő ===== ==== xvinfo ==== X-Video kiterjesztések ==== xrandr ==== A RandR kiterjesztéshez parancssoros kezelőfelület. xrandr xrandr --verbose ==== xdpyinfo ==== Képernyőinformációk ===== Malware ===== ==== rkhunter ==== rootkint, backdoor és rootkit kereső. apt-get install rkhunter ===== Egyéb ===== ==== nmon ==== Általános bencsmárk program, ncurses alapokon. apt-get install nmon Indítás: nmon Kilépés: Q ==== uptime ==== Mennyi ideje fut a rendszer. 21:11:11 up 15 min, 2 users, load average: 0.06, 0.10, 0.17 ==== icinga ==== Az icinga a nagios utódjaként emlegetik. Hálózati és rendszer monitorozó démon. Webes felület is rendelkezésre áll. Telepítés webes felülettel együtt: apt-get install icinga icinga-web Használat: firefox http://localhost/icinga Azt a jelszót és felhasználó nevet kéri a webes felület, amelyet a telepítéskor megadtunk. Weboldal: * https://www.icinga.org/ ===== Fájlrendszer ===== ==== tripwire ==== Fájlrendszer integritás ellenőrző. apt-get install tripwire Telepítéskor két jelszót fog kérni. ==== iwatch ==== Az iwatch, egy fájlrendszer monitorozó eszköz. aptt install iwatch ==== systraq ==== apt-get install systraq ==== integrit ==== Fájlintegritás ellenőrző program. Figyelmeztetést kapunk, ha a fájlrendszerben változások történtek az általunk maghatározott helyeken. Telepítés: apt-get install integrit Weblap: * http://integrit.sourceforge.net ===== Rendszer ===== ==== saidar ==== Telepítés: apt-get install saidar Curses alapú élő rendszerstatisztika. Hostname : evelin Uptime : 00:40:59 Date : 2012-09-29 19:08:02 Load 1 : 0.00 CPU Idle : 97.76% Running : 1 Zombie : 0 Load 5 : 0.03 CPU System: 0.50% Sleeping : 182 Total : 183 Load 15 : 0.24 CPU User : 1.74% Stopped : 0 No. Users : 5 Mem Total : 1518M Swap Total: 486M Mem Used : 93.52% Paging in : 0 Mem Used : 1419M Swap Used : 15956K Swap Used : 3.20% Paging out: 0 Mem Free : 100756K Swap Free : 470M Total Used: 71.61% Disk Name Read Write Network Interface rx tx sda 0B 0B lo 0B 0B sdc 0B 0B eth0 0B 0B sdb 0B 0B pan0 0B 0B vboxnet0 0B 0B Total 0B 0B Mount Point Free Used /mnt/tartaly 33480M 88.36% ==== Processzor ==== Hogyan kérdezhetjük le, hány bites a processzorunk. cat /proc/cpuinfo * lm jelző (flag) azt jelenti hosszú mód (long mode) - 64 bit CPU * Real mode - valós idejű - 16 bit CPU * Protected Mode - védett módú - 32-bit CPU ===== Fájlok ===== ==== readelf ==== Egy ELF típusú bináris állományról szerezhetünk segítségével információkat. A -h kapcsolóval az állomány induló részéből, a fejrészből kapunk információkat. Példa: readelf -h program ELF Header: Magic: 7f 45 4c 46 01 01 01 00 00 00 00 00 00 00 00 00 Class: ELF32 Data: 2's complement, little endian Version: 1 (current) OS/ABI: UNIX - System V ABI Version: 0 Type: EXEC (Executable file) Machine: Intel 80386 Version: 0x1 Entry point address: 0x8063760 Start of program headers: 52 (bytes into file) Start of section headers: 130296 (bytes into file) Flags: 0x0 Size of this header: 52 (bytes) Size of program headers: 32 (bytes) Number of program headers: 3 Size of section headers: 40 (bytes) Number of section headers: 5 Section header string table index: 4 ===== Webszerver ===== * nikto * wapiti ==== nikto ==== Webszerver sebezhetőségének vizsgálata. sudo apt install nikto nikto -h scanme.nmap.org ===== Link ===== * http://sectools.org * http://www.aboutdebian.com/snort.htm