Felhasználói eszközök

Eszközök a webhelyen


oktatas:linux:diagnozis

< Linux

Linux diagnosztika

  • Szerző: Sallai András
  • Copyright © Sallai András, 2011, 2012, 2013, 2014, 2015, 2017, 2018
  • Licenc: GNU Free Documentation License 1.3

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:

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

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:

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 SMTP kommunikáció ismerete szükséges.

Levélküldő script:

test1.sh
#!/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:

test2.sh
#!/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: <BROADCAST,MULTICAST,UP,LOWER_UP> 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

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

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

<igen>

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:

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:

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    <unknown>                             <unknown>
192.168.16.20    C16-20                                <unknown>               00:19:66:ef:58:cc
192.168.16.255   Sendto failed: Permission denied
192.168.16.252   FILESERVER           <server>         FILESERVER              00:00:00:00:00:00
192.168.16.253   SERVER               <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
>
<HTTP/1.1 200 OK
<Date: Sat, 01 Nov 2014 14:39:12 GMT
<Server: Apache/2.4.7 (Ubuntu)
<Last-Modified: Sat, 15 Jun 2013 14:08:01 GMT
<ETag: "b1-4df31e4271240"
<Accept-Ranges: bytes
<Content-Length: 177
<Vary: Accept-Encoding
<Content-Type: text/html
<
<<html><body><h1>It works!</h1>
<<p>This is the default web page for this server.</p>
<<p>The web server software is running but no content has been added, yet.</p>
<</body></html>
 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:

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

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 <port> -w <naplófájl> -m IPSCACLASEA1.crt -c <tanusitvanyKonyvtar>

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:

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:

main.c
#include <stdio.h>
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

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:

Fájlrendszer

tripwire

Fájlrendszer integritás ellenőrző.

apt-get install tripwire

Telepítéskor két jelszót fog kérni.

iwatch

apt-get 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:

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
oktatas/linux/diagnozis.txt · Utolsó módosítás: 2019/08/16 20:17 szerkesztette: admin