Sisukord:
- Samm: kuidas me alustame?
- 2. samm: alustame
- 3. samm: ühenduse loomine
- Samm 4: Võimaldab saata teatud sisu
- Samm: avame ühenduse
- 6. samm: järeldus
Video: Netcat Pythonis: 6 sammu
2024 Autor: John Day | [email protected]. Viimati modifitseeritud: 2024-01-30 08:49
Mis on netcat? Netcati käsiraamatulehel on öeldud järgmist: "utiliiti nc (või netcat) kasutatakse peaaegu kõigeks päikese all, mis hõlmab TCP-, UDP- või UNIX-domeeni pistikupesasid. See võib avada TCP-ühendusi, saata UDP-pakette, kuulata suvaliselt TCP- ja UDP -pordid, skaneerivad pordid ja tegelevad nii IPv4 kui ka IPv6 -ga. Erinevalt telnetist (1) skriptib nc kenasti ja eraldab veateated standardveale, selle asemel, et saata need standardväljundisse, nagu mõne telnet (1) puhul"
Sisuliselt võimaldab netcat ühendada teiste serveritega TCP või UDP protokolli abil. TCP tähistab edastamise juhtimisprotokolli ja on ühendusele orienteeritud. UDP tähistab Universal Datagram Protocol ja on ühenduseta. TCP -d kasutatakse tavaliselt Interneti -rakenduste jaoks, samas kui UDP -d kasutatakse meedia voogesituse või VPN -ide jaoks.
Samm: kuidas me alustame?
Eespool on, kuidas netcatit nimetatakse. Näete, et lõpus on kaks argumenti nimega "sihtkoht" ja "sadam". Sihtkoht viitab selle serveri hosti nimele või IP -aadressile, millega proovime ühendust luua, samas kui port viitab selle serveri pordile, millega proovime ühendust luua.
2. samm: alustame
Eespool on mõned algavad pythoni koodid. Nagu näete, tahame programmi argumente töödelda sarnaselt tegeliku kasulikkusega. Hosti nimi on esimene argument pärast käivitatava faili nime, port aga teine argument pärast käsureal käivitatava faili nime.
3. samm: ühenduse loomine
Loome netcati funktsiooni, mida saame kasutada. Põhimõtteliselt teeme siin pistikupesa ja ühendame serveriga antud parameetrite abil. Käsu netcat jaoks on praegused parameetrid selle serveri hostinimi ja port, millega proovime ühendust luua. Pistikupesa sisaldab parameetreid "socket. AF_INET" ja "socket. SOCK_STREAM", kuna selle õpetuse jaoks vaikimisi kasutame TCP -ühendust.
Samm 4: Võimaldab saata teatud sisu
Laiendasime oma netcati funktsiooni, et võtta kolmas parameeter "sisu". Siin on palju sisu, nii et jaotagem see reanumbri järgi.
Rida 14-16: saadame kogu sisu üle pistikupesa, ootame natuke ja seejärel sulgeme pistikupesa mis tahes väljuvate andmete jaoks, nii et pistikupesa teab, et enam andmeid ei tule.
Rida 18-26: loome puhver serveri vastuse salvestamiseks ja samal ajal kui pistikupesa andmeid võtab, lisame tulemusele kuni 1024 baiti andmeid seni, kuni on andmeid lugeda.
Rida 28-29: me tahame, et see netcat-ühendus oleks ühekordne ühendus, seega kuulutame ühenduse suletuks ja seejärel ühenduse.
Rida 31: see on tavaline HTTP -päring. Kui käivitate koodi käsurea argumentidega "google.com" ja "80", näete õiget HTTP -vastust
Samm: avame ühenduse
Ülaltoodud kood (mis asub eelmise jaotise koodi all) võimaldab meil lihtsalt pseudo-avatud ühenduse kaudu käivitada mitu netcat-käsku. (Tegelikult avab ja sulgeb iga kord käsu käivitamisel uue TCP -ühenduse, nii et see ei jäljenda tõeliselt netcati käitumist, me teeme seda lihtsalt õppimise eesmärgil). Jagame selle ka rida -realt:
Rida 31: me tahame käske lõputult lugeda, et säilitada interaktiivsus
Rida 32: see on meie puhver, mis salvestab meie taotluse sisu
Rida 36-45: loeme puhvrisse, kuni loeme tühja rida
Rida 48: me lihtsalt kutsume oma funktsiooni netcat koos hosti nime, pordi ja vastloodud sisuga (mis on korralikult kodeeritud)
50. rida: kui meie puhvri sisu sisaldab kunagi "Connection: Close" (mis näitab, et tahame ühenduse sulgeda), siis me lihtsalt lahkume tsüklist
6. samm: järeldus
Selle õpetuse lõpus peaks teil olema minimaalne töötav netcati juurutamine. Jätan kasutaja ülesandeks rakendada selliseid funktsioone nagu:
1. teiste protokollide toetamine
2. kinnitage kood, et mitte iga kord ühendust katkestada
3. lisades lippe, et netcat peab juba käitumist muutma
Soovitan:
QR -koodi skanner OpenCV kasutamine Pythonis: 7 sammu
QR-koodi skanner OpenCV kasutamine Pythonis: Tänapäeva maailmas näeme, et QR-koodi ja vöötkoodi kasutatakse peaaegu kõikjal, alates toote pakendamisest kuni veebimakseteni, ja tänapäeval näeme menüü nägemiseks isegi restoranis QR-koode. kahtlen, et see on nüüd suur mõte. Kuid kas olete kunagi häbenenud
Caesari šifriprogramm Pythonis: 4 sammu
Caesari šifriprogramm Pythonis: Caesari šifr on iidne ja laialt kasutatav šifr, mida on lihtne krüptida ja dekrüpteerida. See toimib tähestiku tähtede nihutamisega, et luua täiesti uus tähestik (ABCDEF võib nihutada üle 4 tähe ja muutuda EFGHIJ -ks). Caesar C
Niiskuse ja temperatuuri vaatleja, kes kasutab Raspberry Pi koos SHT25 -ga Pythonis: 6 sammu
Niiskuse ja temperatuuri vaatleja, kes kasutab Raspberry Pi koos SHT25 -ga Pythonis: olles Raspberry Pi entusiast, mõtlesime sellega mõnele suurejoonelisemale eksperimendile. Selles kampaanias teeme niiskuse ja temperatuuri vaatleja, mis mõõdab suhtelist niiskust ja temperatuuri Vaarika Pi abil ja SHT25, Humidi
MIDI trummikomplekt Pythonis ja Arduinos: 5 sammu (koos piltidega)
MIDI trummikomplekt Pythonil ja Arduino: Tahtsin lapsest saati alati trummikomplekti osta. Siis ei olnud kõigil muusikaseadmetel kõiki digitaalseid rakendusi, nagu meil täna on palju, seega olid hinnad koos ootustega liiga kõrged. Hiljuti otsustasin osta endale
Temperatuuri muutuse graafik kliimamuutustest Pythonis: 6 sammu
Temperatuuri muutuse joonistamine kliimamuutustest Pythonis: kliimamuutused on suur probleem. Ja paljud inimesed ei tea praegu, kui palju see on tõusnud. Selles juhendis joonistame kliimamuutustest tingitud kliimamuutuste graafiku. Pettuslehe jaoks saate vaadata allpool olevat pythoni faili