Cuprins:
- Pasul 1: Cum începem?
- Pasul 2: Să începem
- Pasul 3: Crearea unei conexiuni
- Pasul 4: Permite trimiterea unui conținut
- Pasul 5: Să avem o conexiune deschisă
- Pasul 6: Concluzie
Video: Netcat în Python: 6 pași
2024 Autor: John Day | [email protected]. Modificat ultima dată: 2024-01-30 11:45
Ce este netcat? Pagina manuală pentru netcat spune următoarele: "utilitarul nc (sau netcat) este utilizat pentru aproape orice sub soare care implică socket-uri de domeniu TCP, UDP sau UNIX. Poate deschide conexiuni TCP, trimite pachete UDP, asculta în mod arbitrar Porturile TCP și UDP, scanează porturile și gestionează atât IPv4, cât și IPv6. Spre deosebire de telnet (1), scripturile nc se separă frumos și separă mesajele de eroare de erori standard în loc să le trimită la ieșirea standard, așa cum face telnet (1) cu unele"
În esență, netcat vă permite să vă conectați la alte servere utilizând protocolul TCP sau UDP. TCP înseamnă Protocolul de control al transmisiei și este orientat spre conexiune. UDP înseamnă Universal Datagram Protocol și este fără conexiune. TCP este utilizat în mod obișnuit pentru aplicații de internet, în timp ce UDP este utilizat pentru streaming media sau VPN-uri.
Pasul 1: Cum începem?
Mai sus este cum se numește netcat. Puteți vedea că la final există două argumente numite „destinație” și „port”. Destinația se referă la un nume de gazdă sau la adresa IP a serverului la care încercăm să ne conectăm, în timp ce portul se referă la portul serverului la care încercăm să ne conectăm.
Pasul 2: Să începem
Mai sus este un cod Python de început. După cum puteți vedea, vrem să procesăm argumentele programului în mod similar cu modul în care funcționează utilitatea reală. Numele de gazdă va fi primul argument după numele executabilului, în timp ce portul va fi al doilea argument după numele executabilului în linia de comandă.
Pasul 3: Crearea unei conexiuni
Să creăm o funcție netcat pe care o putem folosi. Ceea ce facem practic aici este crearea unui socket și conectarea la server utilizând parametrii dați. Pentru comanda netcat, parametrii actuali sunt numele gazdei și portul serverului la care încercăm să ne conectăm. Socketul conține parametrii "socket. AF_INET" și "socket. SOCK_STREAM", deoarece ne implicăm o conexiune TCP pentru acest tutorial.
Pasul 4: Permite trimiterea unui conținut
Ne-am extins funcția netcat pentru a lua un al treilea parametru, „conținut”. Există o mulțime de conținut aici, așa că haideți să îl împărțim în funcție de numărul de linie.
Linia 14-16: trimitem tot conținutul prin socket, așteptăm puțin și apoi închidem socketul pentru orice date de ieșire, astfel încât socketul să știe că nu mai vin date.
Linia 18-26: creăm un buffer pentru a stoca răspunsul serverului și, în timp ce socketul primește date, adăugăm până la 1024 octeți de date la rezultat, atâta timp cât există date de citit.
Linia 28-29: dorim ca această conexiune netcat să fie o conexiune unică, deci declarăm conexiunea închisă și apoi închidem conexiunea.
Linia 31: Aceasta este o cerere HTTP standard. Dacă rulați codul cu argumentele din linia de comandă „google.com” și „80”, atunci veți vedea un răspuns HTTP adecvat
Pasul 5: Să avem o conexiune deschisă
Codul de mai sus (care se află sub codul din secțiunea anterioară) ne permite pur și simplu să rulăm comenzi multcat netcat printr-o conexiune pseudo-deschisă. (În realitate, de fiecare dată când executați o comandă, aceasta se deschide și apoi închide o nouă conexiune TCP, deci nu emulează cu adevărat comportamentul netcat, pur și simplu facem acest lucru în scopuri de învățare). Să descompunem și această linie cu linie:
Linia 31: Vrem să citim comenzi la nesfârșit pentru a menține „interactivitatea”
Linia 32: Acesta este bufferul nostru care va stoca conținutul cererii noastre
Linia 36-45: Vom citi în buffer până când citim o linie goală
Linia 48: numim pur și simplu funcția noastră netcat cu numele gazdei, portul și conținutul nou creat (care este codat corect)
Linia 50: dacă conținutul bufferului nostru conține vreodată „Conexiune: Închidere” (indicând că dorim să închidem conexiunea), pur și simplu ieșim din buclă
Pasul 6: Concluzie
La sfârșitul acestui tutorial ar trebui să aveți o implementare minimă de lucru netcat. Voi lăsa utilizatorul să exercite funcții precum:
1. acceptarea altor protocoale
2. fixarea codului pentru a nu închide conexiunea de fiecare dată
3. adăugând steaguri pe care netcat le are deja pentru a modifica comportamentul
Recomandat:
Sincronizarea dosarelor cu Python: 5 pași
Sincronizarea dosarelor cu Python: această instrucțiune vă va arăta cum să păstrați două foldere (și toate folderele din ele) sincronizate, astfel încât unul să fie o copie directă a celuilalt. Ideal pentru copierea de rezervă a lucrărilor atât local, pe un server cloud / de rețea sau pe o unitate USB. Nicio experiență cu programarea nu este
Joc Python Tic Tac Toe: 4 pași
Joc Python Tic Tac Toe: joc Python tic tac toe acest joc este realizat în python, care este un limbaj de computer
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino - Pași cu pași: 4 pași
Sistemul de alertă pentru parcarea inversă a autovehiculului Arduino | Pași cu pas: în acest proiect, voi proiecta un senzor senzor de parcare inversă Arduino Car Circuit folosind senzorul cu ultrasunete Arduino UNO și HC-SR04. Acest sistem de avertizare auto bazat pe Arduino poate fi utilizat pentru navigație autonomă, autonomie robotică și alte r
Netcat Fun !: 5 pași
Distracția Netcat !: Această instrucțiune vă arată cum să creați un backdoor pe un computer cu netcat! Vă voi arăta două moduri de a face acest lucru, cu și fără fișierul meu lot care îl automatizează pentru dvs. Acest instructable presupune deja că aveți deja permisiuni de root
Mai multă distracție cu Netcat !!: 4 pași
Mai multă distracție cu Netcat !!: Acum, dacă nu ați citit ghidul benzii Duct pentru Netcat Backdoors, atunci citiți asta, apoi veniți aici. Acest instructabil trece în revistă comenzile de bază netcat și cum să le utilizați. De asemenea, trece în revistă câteva comenzi de bază pentru lot