Pillole di Cybersecurity

Pentration testing, Ethical Hacking, Analisi Forense, Malware Analysis...

Pillole di Ethical Hacking: Le server Socket

Oggi provo a parlarvi delle socket semplificando molto le cose 😉

Le socket sono gli endpoint di un canale di comunicazione bidirezionale. Consentono la comunicazione in rete ma anche tra differenti processi della stessa macchina.

Le socket di rete possono essere di tipo Server o Client. Le socket di tipo server si mettono in ascolto su una specifica porta aspettando che un’altra socket di tipo Client ci si connetta.

In questa pillola vediamo una server socket ed utilizzerò come linguaggio Python

import socket

serv = socket.socket(socket.AF_INET, socket.SOCK_STREAM)

serv.bind(('127.0.0.1', 8080))

serv.listen(5)

while True:

    conn, addr = serv.accept()

    while True:

        data = conn.recv(4096)

        print data

        conn.send("Sono il server")

    conn.close()

    print 'client disconnesso

 

In questo programma dopo aver definito la porta di ascolto (la 8080) creeremo una socket con la chiamata socket.socket(), e subito dopo utilizzando bind() collegheremo la socket all’host locale ed alla porta definita.

Una volta eseguite queste azioni diciamo alla socket di mettersi in ascolto per ricevere connessioni utilizzando la chiamata listen()

Il numero 5 come argomento della listen indica il numero delle connessioni che potranno mettersi in coda.

Fatto questo si attende dentro il ciclo while che arrivi una connessione.

La chiamata accept consente di accettare una connessione entrante. Dopo questa chiamata il server rimane in ascolto sulla porta. Alla ricezione della connessione viene inizializzata la variabile conn che conterra i valori identificativi della connessione entrante.

Ricevuta una connessione, con la chiamata conn.recv,  la variabile data conterrà il valore ricevuto. Qui avrei dovuto fare un controllo su data per capire se è vuota o meno, ma ve lo risparmio.

Ricevuto il valore con la conn.send il server invia la stringa “Sono il server” al client.

Infine si chiude la connessione.

Le socket sono importanti nelle attività di penetration testing, in quanto consentono al pentester di creare connessioni e testare in modo efficiente i server da analizzare. Naturalmente questo si fa con socket di tipo client che vedremo nella prossima pillola.

Pin It

A cura di...

Antonio Capobianco
Antonio Capobianco
Malware Analyst
Image
Vincenzo Alonge
Ethical Hacker e Forensic Analyst
Image
Andrea Tassotti
Ethical Hacker e Pentester
Image
Andrea Covino
Ethical Hacker e Forensic Analyst

Per rimanere aggiornato iscriviti alla nostra newsletter

Cyber Security UP

CybersecurityUP è una BU di Fata Informatica.
Dal 1994 eroghiamo servizi di sicurezza IT per grandi organizzazioni sia civili che militari.
  • Ethical Hacking
  • Red Teaming
  • Penetration Testing
  • Security Code Review
  • SOC 24x7
  • Formazione specialistica
Image
Image
Image

Vieni a trovarci

Vieni a trovarci nella nostra sede a Roma, in Via Tiburtina 912, CAP 00156, ROMA, dal Lunedì al Venerdì dalle ore 9:30 - 18:30
Via Tiburtina 912,
CAP 00156,
ROMA

Lunedì-venerdì
09:30 - 13:00
14:00 - 18:30

+39 06 4080 0490

Contattaci

Necessiti dei nostri servizi di Cybersecurity?

Privacy policy

Ti invitiamo prendere visione della nostra
privacy policy  per la protezione dei tuoi dati personali.
Disclaimer
Alcune delle foto presenti su Cybersecurityup.it potrebbero essere state prese da Internet e quindi valutate di pubblico dominio. Se i soggetti o gli autori avessero qualcosa in contrario alla pubblicazione, lo possono segnalare via email alla redazione che provvederà prontamente alla rimozione delle immagini utilizzate.
© 2022 Fata Informatica. Tutti i diritti riservati.