Programmazione > Python

[PythonXHacker] Client TCP

(1/2) > >>

NebulasIT:
Link: You are not allowed to view links. Register or Login

Al tempo del mio vecchio compleanno ebbi regalato dalla mia ragazza un libro chiamato: "Python per Hacker", è un libro simpatico nella qualche sta qualche codice interessante, in questa sezione voglio postare un tool che sto programmando (che vorrei fosse ampliato da voi, in quanto non sono espertissimo del python), che contiene diciamo un pò di possibili parametri. Ad esempio nella prima versione del programma (0.1) ho aggiunto il parametro "Client TCP" messo sottoforma di funzione... Il fine è sperimentare e sperimentare, per apprendere il funzionamento e magari chissà far uscire un Tool abbastanza utile, spero che quest'idea vi garba e magari mettete mano sul codice, farò un topic per ogni funzione implementata, ora vediamo la prima funzione.

CLIENT TCP:

Ci saranno sempre le innumerevoli volte in cui dovrai utilizzare un Client TCP per testare alcuni servizi, essere capace di creare un Client TCP può essere di formidabile aiuto, ora discutiamo della funzione del programma del Client TCP... (Per poi sviluppare un Server TCP)

Code: You are not allowed to view links. Register or Logindef client_tcp():
target_host=raw_input("Inserire il target Host (prova inizialmente con www.google.it): ")
target_port=80
client=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
client.connect((target_host,target_port))
client.send("GET / HTTP/1.1\r\nHost: google.com\r\n\r\n")
response=client.recv(4056)
print response

--- End code ---

Con: Code: You are not allowed to view links. Register or Loginclient=socket.socket(socket.AF_INET, socket.SOCK_STREAM)
--- End code ---
Creiamo un oggetto socket

Con: Code: You are not allowed to view links. Register or Loginclient.connect((target_host,target_port))
--- End code ---
Ci connettiamo al client

Con:Code: You are not allowed to view links. Register or Loginclient.send("GET / HTTP/1.1\r\nHost: google.com\r\n\r\n")
--- End code ---
Inviamo dei dati

Con:Code: You are not allowed to view links. Register or Loginresponse=client.recv(4056)
--- End code ---
Riceviamo dei dati

devilicecream:
Mi sembra un buon inizio!
Leggiti anche come lavorare con i socket in Python 3.5 (You are not allowed to view links. Register or Login), c'è un bell'esempio di custom class che astrae il triste lavoro di inizializzare il socket e dividere i messaggi in chunks per l'invio/ricezione.


E please! Python ha una cosa bellissima che è la PEP (You are not allowed to view links. Register or Login). Una delle cose fondamentali è la leggibilità del codice e questo include l'uso degli spazi (4 o 2 dipendentemente da diverse correnti di pensiero) al posto dei tab.
Molto importante se pubblichi codice su github! Certa gente non guarda nemmeno il codice se vede che indenti con i tab in Python  ;)

NebulasIT:
Scusami quest'ultima cosa non l'ho proprio capita...  :o  ;D

NebulasIT:
Ho capito, ho letto meglio la PEP, ora capisco, grazie mille dell'informazione riparo subito. :D

lynx:
Bene, concordo con devilicecream, usa librerie aggiornate e identa il codice. Io stesso cerco di farlo a scapito di "perdere tempo".

Navigation

[0] Message Index

[#] Next page

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 
There was an error while thanking
Thanking...
Go to full version