{"id":3400,"date":"2023-03-11T23:18:35","date_gmt":"2023-03-11T22:18:35","guid":{"rendered":"https:\/\/www.gcportal.com\/wordpress\/?p=3400"},"modified":"2023-03-11T23:21:20","modified_gmt":"2023-03-11T22:21:20","slug":"cotrollo-della-rete-da-terminale","status":"publish","type":"post","link":"https:\/\/www.gcportal.com\/wordpress\/archives\/3400","title":{"rendered":"Controllo della Rete da Terminale"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\"><span class=\"su-dropcap su-dropcap-style-light\" style=\"font-size:1em\">M<\/span>onitorare lo stato della propria rete pu\u00f2 rivelarsi utile in molteplici casi.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Ad esempio, se improvvisamente notate attivit\u00e0 sospetta (ed inaspettata) di una o pi\u00f9 applicazioni della vostra macchina, con una serie di comandi potrete rendervi conto delle applicazioni che si collegano alla rete per constatare se siete vittime di un rootkit o di un malware in generale.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">O, ancora, potrebbe ritornare utile rendervi conto di quale programma usa maggiormente la banda di rete. Se siete sviluppatori e state scrivendo un\u2019app che fa uso di Internet, inoltre, monitorare il tutto pu\u00f2 essere molto utile ai fini di debug.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Di seguito vengono mostrati alcuni esempi di utilizzo tipico di quattro applicazioni da linea di comando \u2013 utili quindi anche per l\u2019utilizzo da remoto \u2013 atte allo scopo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Le applicazioni contrassegnate come \u201cmonitor\u201d permetteranno di monitorare il sistema in real-time finch\u00e9 non verranno manualmente interrotte, quelle contrassegnate come \u201cistantanee\u201d restituiranno come output un\u2019istantanea dello stato della rete.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Controllare la rete da terminale con Linux<\/p>\n\n\n\n<h2 class=\"wp-block-heading\"><strong><em>Nethogs (Monitor)<\/em><\/strong> nethogs<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Indubbiamente uno dei tool dall\u2019utilizzo pi\u00f9 semplice e particolarmente adatto agli scopi prefissi: in poche parole nethogs permette di visualizzare il traffico di rete in transito tra le applicazioni eseguite in modalit\u00e0 grafica.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Richiede i privilegi di root per essere utilizzato.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Tramite nethogs si possono ottenere informazioni quali il pid del processo, l\u2019utente che lo esegue, il nome (ed eventualmente i parametri) del processo, l\u2019interfaccia di rete e la velocit\u00e0 di invio e ricezione dei dati (in KB\/s).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per conoscere l&#8217;interfaccia di rete digitare il comando:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:#fcb900\" class=\"has-inline-color\">$ ip a<\/mark><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"577\" src=\"https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_225222-800x577.png\" alt=\"\" class=\"wp-image-3402\" srcset=\"https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_225222-800x577.png 800w, https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_225222-300x216.png 300w, https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_225222-100x72.png 100w, https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_225222-768x554.png 768w, https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_225222.png 1118w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><strong><em>Comando: ip a<\/em><\/strong><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Per procedere, baster\u00e0 digitare a terminale il comando<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:#fcb900\" class=\"has-inline-color\">$ nethogs &lt;interfaccia_di_rete&gt;<\/mark><\/strong> (Nel nostro caso <strong><em>enp3s0:<\/em><\/strong> ethernet oppure <strong><em>wlp2s0:<\/em><\/strong> Wireless vedi immagine sopra)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">(ad es. nethogs wlan0). E\u2019 possibile uscire in qualsiasi momento dal monitor utilizzando il tasto \u201cq\u201d.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"156\" src=\"https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_224700-800x156.png\" alt=\"\" class=\"wp-image-3401\" srcset=\"https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_224700-800x156.png 800w, https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_224700-300x58.png 300w, https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_224700-100x19.png 100w, https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_224700-768x149.png 768w, https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_224700.png 1229w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><figcaption class=\"wp-element-caption\"><strong><em>nethogs view<\/em><\/strong><\/figcaption><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Nethogs potrebbe non essere installato di default sul sistema operativo: in tal caso potrete utilizzare il vostro gestore pacchetti (apt, dnf, yum, pacman, yaourt o quant\u2019altro) per procedere al download e all\u2019installazione.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nel caso di Ubuntu e Debian potrete installare nethogs tramite il comando<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:#fcb900\" class=\"has-inline-color\">$ sudo apt update<br>$ sudo apt install nethogs<\/mark><\/strong><\/p>\n\n\n\n<h2 class=\"wp-block-heading\">TCPDUMP (Monitor)<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">TCPDump \u00e8 indubbiamente uno degli applicativi pi\u00f9 completi ed utili (forse qualche volta fin troppo) per sorvegliare del traffico di rete.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Esso permette di monitorare, visualizzare, analizzare e loggare qualsiasi cosa passi attraverso la rete, permettendo all\u2019utente di prendere visione degli indirizzi di arrivo e destinazione, delle porte d\u2019ascolto, dell\u2019offset dei pacchetti, della tipologia dei pacchetti in transito, dell\u2019header (o del contenuto completo) dei pacchetti, delle applicazioni locali che li gestiscono e molto altro ancora.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Come avrete inteso tcpdump \u00e8 particolarmente utile ai fini di low-level debugging e necessita dei permessi di root per funzionare. Un utilizzo di base di tcpdump potrebbe essere<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:#fcb900\" class=\"has-inline-color\">$ tcpdump -bi interfaccia_di_rete<\/mark><\/strong> (Esempio: enp3s0: Ethernet oppure wlp2s0: Wireless)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Volendo \u00e8 possibile redirigere l\u2019output in un file di testo, digitando<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:#fcb900\" class=\"has-inline-color\">$ tcpdump -bi interfaccia_di_rete &gt; logfile.txt<\/mark><\/strong> (Esempio: enp3s0: Ethernet oppure wlp2s0: Wireless)<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per interrompere la scansione \u00e8 possibile utilizzare in qualsiasi momento la combinazione di tasti CTRL+C.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">LSOF (Istantanea) lsof<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il comando lsof (list open file) permette, nel suo utilizzo di base, di ottenere una lista dei file aperti dal sistema operativo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se invocato col parametro -i permette di ottenere informazioni sui processi (nomi e pid) che utilizzano la rete, sul loro stato (connessione stabilita, in chiusura, in listening), sul tipo di protocollo IP usato (ipv4\/v6), sulla dimensione dei pacchetti, sulle porte locali in uso e sull\u2019indirizzo di destinazione dei pacchetti in uscita (o l\u2019indirizzo di arrivo dei pacchetti in entrata).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quindi, per ottenre una lista di tutti i processi utente che interagiscono con la rete, bisogner\u00e0 digitare:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:#fcb900\" class=\"has-inline-color\">$ lsof -i<\/mark><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per ottenere una lista dei processi utente che stanno utilizzando la rete andremo a digitare<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:#fcb900\" class=\"has-inline-color\">$ lsof -i | grep ESTABLISHED<\/mark><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per ottenere una lista dei processi di tutti gli utenti (e del sistema operativo) che interagiscono con la rete dovremo eseguire gli stessi comandi da root (o utilizzando sudo).<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Netstat (istantanea) netstat<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Il comando netstat, nel suo utilizzo di base, permette di visualizzare diverse statistiche su tutte le connessioni (sia internet che di sistema, tramite socket).<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Se raffinato con determinati parametri sar\u00e0 possibile visualizzare informazioni sull\u2019utilizzo della rete del tutto simili a quelle mostrate da lsof, con in pi\u00f9 le code di invio e ricezione pacchetti.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Quindi, per ottenre una lista di tutti i processi utente che interagiscono con la rete, bisogner\u00e0 digitare:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:#fcb900\" class=\"has-inline-color\">$ netstat -tuapw &#8211;numeric-hosts &#8211;numeric-ports<\/mark><\/strong><\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"800\" height=\"547\" src=\"https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_230916-800x547.png\" alt=\"\" class=\"wp-image-3404\" srcset=\"https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_230916-800x547.png 800w, https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_230916-300x205.png 300w, https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_230916-100x68.png 100w, https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_230916-768x525.png 768w, https:\/\/www.gcportal.com\/wordpress\/wp-content\/uploads\/2023\/03\/2023-03-11_230916.png 1038w\" sizes=\"auto, (max-width: 800px) 100vw, 800px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Per ottenere una lista dei processi utente che stanno utilizzando la rete bisogner\u00e0 digitare<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:#fcb900\" class=\"has-inline-color has-black-color\">$ netstat -tuapw &#8211;numeric-hosts &#8211;numeric-ports | grep ESTABLISHED<\/mark><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Chiaramente \u00e8 possibile salvare in un file l\u2019output del comando semplicemente utilizzando l\u2019operatore di redirezione:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong><mark style=\"background-color:#fcb900\" class=\"has-inline-color\">$ netstat -tuapw &#8211;numeric-hosts &#8211;numeric-ports | grep ESTABLISHED &gt; log.txt<\/mark><\/strong><\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Per ottenere una lista dei processi di tutti gli utenti (e del sistema operativo) che interagiscono con la rete baster\u00e0 eseguire gli stessi comandi da root (o utilizzando sudo).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>onitorare lo stato della propria rete pu\u00f2 rivelarsi utile in molteplici casi. Ad esempio, se improvvisamente notate attivit\u00e0 sospetta (ed inaspettata) di una o pi\u00f9 applicazioni della vostra macchina, con [&hellip;]<\/p>\n","protected":false},"author":4,"featured_media":3407,"comment_status":"closed","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":"","_links_to":"","_links_to_target":""},"categories":[86,93],"tags":[],"class_list":["post-3400","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-guide-tutorial","category-linux"],"_links":{"self":[{"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/posts\/3400","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/comments?post=3400"}],"version-history":[{"count":5,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/posts\/3400\/revisions"}],"predecessor-version":[{"id":3410,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/posts\/3400\/revisions\/3410"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/media\/3407"}],"wp:attachment":[{"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/media?parent=3400"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/categories?post=3400"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.gcportal.com\/wordpress\/wp-json\/wp\/v2\/tags?post=3400"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}