Alat naredbenog retka LSOF vrlo je koristan za sistemske administratore i programere jer im omogućuje da:
- Odredite procese koji trenutno koriste određenu datoteku ili priključak, što je osobito važno u slučaju sukoba priključaka
- Otkrijte datoteke koje su procesi izbrisali, ali su još uvijek otvorene, što može dovesti do nepotrebne potrošnje prostora; naredba LSOF služi za identifikaciju i rješavanje takvih slučajeva
- Učinkovito pomaže u rješavanju grešaka, poput 'priključak je već u upotrebi'.
- Pratite mrežnu aktivnost i otvorite mrežne veze u svrhu praćenja
- Istražite obrasce pristupa datotekama, pridonoseći prepoznavanju potencijalnih sigurnosnih proboja
U ovom ćete vodiču naučiti kako koristiti naredbu LSOF za nadzor portova u stvarnom vremenu.
Osnovna sintaksa LSOF naredbe
Sintaksa naredbe LSOF je sljedeća:
$ lsof [ opcije ] [ imena ]
Opcije su oznake koje se koriste s LSOF naredbom. Imena predstavljaju nazive datoteka, PID-ove (ID-ove procesa), korisnička imena ili mrežne datoteke (IPv4, IPv6). Ovisno o ponuđenim opcijama, naredba LSOF prikazuje popis otvorenih datoteka koje odgovaraju tim nazivima.
Pratite priključke u stvarnom vremenu pomoću naredbe LSOF
LSOF je standardno uključen u mnoge Linux sustave. Morate ručno preuzeti i instalirati jedan od dostupnih paketa ako nije instaliran. Kako biste provjerili instalaciju LSOF-a na vašem sustavu, koristite sljedeću naredbu za prikaz instalirane verzije:
$ lsof -u
Važno je napomenuti da za korištenje naredbe LSOF s odgovarajućim dopuštenjima, neke informacije o procesima i mrežnim vezama mogu zahtijevati povišene privilegije superkorisnika, a možda ćete morati koristiti 'sudo' za pokretanje naredbe s administratorskim pravima.
Navedite mrežne datoteke
Kada pokrenete naredbu LSOF s opcijom '-i', ona prikazuje informacije o procesima koji imaju mrežne veze kao što su utičnice za slušanje ili uspostavljene veze.
$ lsof –iPrethodna naredba prikazuje informacije o nazivu procesa (COMMAND), ID-u procesa (PID), korisniku (USER), deskriptoru datoteke (FD), vrsti veze (TYPE), lokalnoj i udaljenoj adresi i stanju veze. Trebali biste vidjeti sljedeći izlaz:
Navedite TCP veze
Izlaz možete filtrirati na temelju specifičnih kriterija kao što su određene vrste veza ili priključaka. Na primjer, možete koristiti “lsof -i tcp” za popis samo procesa povezanih s TCP vezom.
$ lsof -i tcp: 1 - 1024Prethodna naredba filtrira informacije o procesima koji imaju otvorene TCP veze unutar navedenog raspona portova od 1 do 1024. Ovo može biti korisno za utvrđivanje koji procesi koriste dobro poznate portove povezane s uobičajenim uslugama.
Pratite određeni priključak u stvarnom vremenu
Pomoću LSOF-a možete pratiti određeni priključak u stvarnom vremenu. Na primjer, želite pratiti procese koji se odnose na 'HTTP' na portu 80 koji se ažurira svake 3 sekunde. Da biste to učinili, nadgledajte priključak 80 u stvarnom vremenu pomoću sljedeće naredbe:
$ lsof -i : 80 -r3
Pratite SSHD priključak 22 u stvarnom vremenu
Za nadzor svih SSHD veza koje se izvode na priključku 22, pokrenite sljedeću naredbu:
$ sudo lsof -i : 22 -r3Ova naredba kontinuirano prati i prikazuje informacije u stvarnom vremenu o mrežnim vezama na portu 22 svake 3 sekunde. Ovo je osobito korisno za praćenje promjena, kao što su nove SSH veze ili prekida veze, kako se događaju u stvarnom vremenu.
Pratite raspon priključaka u stvarnom vremenu
Za praćenje informacija o procesima u stvarnom vremenu koji imaju otvorene TCP veze unutar navedenog raspona portova od 1 do 1024, možete koristiti sljedeću naredbu:
$ lsof -i tcp: 1 - 1024 -r3
Pratite sve priključke u stvarnom vremenu
Pomoću naredbe LSOF možete pratiti sve mrežne veze u stvarnom vremenu. Na primjer, želite kontinuirano pratiti i prikazivati informacije o mrežnim vezama u stvarnom vremenu svakih 5 sekundi.
$ lsof -i -r5Sljedeći izlaz uključuje detalje o procesima i njima povezanim mrežnim utičnicama u stvarnom vremenu nakon svakih 5 sekundi:
Slično, također možete nadzirati samo 'uspostavljene' veze s LSOF naredbom:
$ lsof -i -I -r10
Zaključak
U ovom vodiču smo naučili kako nadzirati portove u stvarnom vremenu pomoću naredbe LSOF. Ova naredba također može pomoći administratorima sustava i drugim korisnicima Linuxa da nadziru mrežne veze, uključujući sve aktivne ili otvorene portove. Nadamo se da će vam ovaj vodič pomoći da razumijete kako koristiti naredbu LSOF s različitim opcijama i pratiti različite portove i procese u stvarnom vremenu.