SockStat è un'utilità di comando a tutto tondo che viene inclusa con FreeBSD. Vede un uso immenso nell'esame di connessioni di rete e prese aperte. In FreeBSD, elenca i nomi e lo stato dei processi di sfondo e in primo piano che hanno causato lo sblocco di una porta di rete. Puoi persino personalizzarlo per organizzare gli elenchi di socket di comunicazione sullo stato di connessione, le versioni IP, quali porte vengono ascoltate da programmi specifici, ecc., e semplificare i risultati in base alla proprietà della presa e ai descrittori per le prese di comunicazione. Con SockStat, puoi anche vedere tutti i dettagli intricati su ciascuno dei Dominio UNIX/IPC. Una mossa adatta è integrare SockStat con il filtro Grep per triplicare la sua funzionalità e ottenere il massimo da esso.
Diamo un'occhiata ad alcune delle cose ordinate che possiamo realizzare con SockStat su FreeBSD.
Elenca le porte di lavoro su FreeBSD con SockStat
Il comando SockStat elenca tutte le prese attualmente aperte in un sistema FreeBSD. Digita il comando SockStat non applicato con una qualsiasi delle flag o opzioni per vedere l'elenco delle prese aperte:
$ Sockstat
Prendiamo un momento e esaminiamo ciò che ciascuna delle etichette di colonna nell'output significa. La prima colonna da sinistra è etichettata e elenca tutti gli account utente (radici, mysql) a cui appartiene ogni socket. L'intestazione della seconda colonna è il comando e questa intestazione della colonna elenca tutti i comandi che avevano impostato ogni socket per aprire. La colonna PID e le colonne FD elencano gli ID di processo e i descrittori di file, rispettivamente, delle prese. La proto a testa alta colonna visualizza tutti i protocolli di trasporto dei tipi di socket collegati a ciascuna porta aperta. Le ultime due colonne sono l'indirizzo locale e l'indirizzo estero. Il primo di questi due elenca l'indirizzo IP locale per ogni presa aperta. Mentre quest'ultimo indica quali indirizzi IP sono collegati a ciascuna di queste prese.
Elenca versioni specifiche delle porte aperte in FreeBSD
Per elencare le prese aperte con una versione specifica del protocollo, ad esempio la versione IPv4, aggiungere un flag -4 alla fine del comando SockStat:
$ Sockstat -4
Puoi anche averlo presentato un elenco di altre versioni, ad esempio
$ Sockstat -6
Dovrebbe visualizzare tutte le prese con IPv6.
Elenca le prese aperte basate su TCP/UDP in FreeBSD
Aggiungi il flag -p al comando SockStat per avere l'elenco delle prese aperte presentate in base a TCP o UDP. Dovrai anche aggiungere il nome dell'argomento del protocollo al comando, che puoi cercare andando al file /etc /protocols e controllando il file lì. Per avere solo prese a base di TCP, digitare il comando seguente:
$ SockStat -P TCP
Allo stesso modo, puoi elencare in base a UDP:
$ SockStat -P UDP
Questi due possono essere collegati insieme molto semplicemente:
$ SockStat -p TCP, UDP
Fino a quando, Sockstat non estende il suo supporto al protocollo ICMP.
Visualizza prese con numeri di porta specifici
Per vedere tutte le prese aperte, sia TCP che UDP, pur avendo l'elenco organizzato in base ai numeri di porta (sia locale che in altro modo), digita il comando SockStat con flag appropriati:
$ SOCKSTAT -P TCP -P 443
$ SOCKSTAT -P UDP -P 53
$ SOCKSTAT -P TCP -P 443,53,80,21
Nei comandi sopra, il primo mostra la porta HTTPS TCP, la seconda le porte DNS UDP, mentre la terza mostra entrambe.
Guarda le porte aperte che vengono ascoltate su FreeBSD
Con il flag aggiunto al comando SockStat, ti verrà presentato un socket aperto che sta attualmente ascoltando attraverso la suite di protocollo e tutte le prese di dominio UNIX aperte e qualsiasi tuba denominata.
$ Sockstat -l
Elenca le porte che ascoltano attivamente sulla rete
Aggiungi i flag -l e -s al comando SockStat per avere le porte TCP aperte organizzate dal loro stato di ascolto.
$ SockStat -46 -l -s
L'UDP non può essere visualizzato come un protocollo non di rete, mantenendo così nessun dato sullo stato di ascolto.
Disporre le porte aperte tramite l'app/comando utilizzandole
Ecco la parte in cui l'abbinamento del comando Sockstat con l'utilità Grep è utile; Con l'utilità GREP, è possibile avere le porte aperte elencate dalle applicazioni attualmente in fase di utilizzarle.
Il comando che consumeresti per elencare le porte aperte collegate in particolare con il server NTPD è:
$ SockStat -46 | grep ntpd
È possibile rendere più specifico l'elenco facendolo visualizzare solo i prese connesse aggiungendo il flag -c al comando sopra:
$ SOCKSTAT -46 -C | grep ntpd
Visualizza tutte le prese unix
Avere tutte le prese di dominio UNIX elencate aggiungendo un flag al comando Sockstat:
$ Sockstat -u
Questo dovrebbe anche visualizzare i tubi nominati insieme alle prese unix.
Disporre le porte aperte tramite protocolli collegati HTTPS
Per visualizzare l'elenco dal protocollo HTTPS per ciascun socket, utilizzare il comando di seguito:
$ SOCKSTAT -46 -S -P TCP -P 443 -C
Elenca le prese remote HTTP
Puoi anche elencare tutte le prese remote attualmente utilizzando il protocollo HTTP. Esegui uno dei seguenti comandi nel terminale:
$ SOCKSTAT -46 -C | EGREP '80 | 443 '| awk 'stampa $ 7' | Uniq -c | sort -nr
$ SOCKSTAT -46 -C -P 80.443 | Indirizzo grep -v | awk 'stampa $ 7' |
Uniq -c | sort -nr
Trova il numero di volte in cui un indirizzo IP ha inviato richieste
Per scoprire quante richieste di connessione sono state ricevute da ciascun indirizzo IP, è possibile eseguire il seguente comando:
$ SOCKSTAT -46 -C | EGREP '80 | 443 '| awk 'stampa $ 7' | Cut -d: -f1 | Uniq -c | sort -n
Determinando se esiste un numero insolitamente elevato di richieste di connessione inviate da un indirizzo IP, è possibile identificare che esiste un intento malizioso e può inserire positivamente l'allerta gialla e prendere i protocolli di sicurezza appropriati.
Invia una query DNS dalla presa TCP
È possibile inviare una query DNS utilizzando la presa TCP sulla console, a condizione che la rete sia priva di qualsiasi traffico DNS. Esegui il comando di seguito:
$ dig +tcp www.dominio.com @127.0.0.1
Avvolgendo
Quindi, hai imparato molto sull'uso del comando Sockstat e le sue varianti con flag e switch. Hai anche visto come viene utilizzato in diversi modi per presentare la diagnostica di rete in diverse preferenze e utilizzare queste informazioni per eseguire la risoluzione dei problemi sfacciati in FreeBSD. Questo è molto in sé, ma ora che hai familiarità con questa roba, dovresti considerare di incorporare la riga di comando SockStat con alcuni potenti strumenti di comando, come NetStat e ISOF.