Obsah:
- Krok 1: Ako začneme?
- Krok 2: Začnime
- Krok 3: Vytvorenie pripojenia
- Krok 4: Poďme odoslať určitý obsah
- Krok 5: Poďme mať otvorené pripojenie
- Krok 6: Záver
Video: Netcat v Pythone: 6 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:59
Čo je netcat? Stránka s manuálom pre netcat uvádza nasledovné: „Nástroj nc (alebo netcat) sa používa na takmer čokoľvek pod slnkom, vrátane zásuviek domény TCP, UDP alebo UNIX. Môže otvárať pripojenia TCP, odosielať pakety UDP, počúvať ľubovoľne Porty TCP a UDP vykonávajú skenovanie portov a vyrovnávajú sa s protokolmi IPv4 aj IPv6. Na rozdiel od telnetu (1), nc pekne skriptuje a namiesto odosielania na štandardný výstup oddeľuje chybové správy na štandardné chyby, ako to robí telnet (1)."
Netcat vám v podstate umožňuje pripojiť sa k iným serverom pomocou protokolu TCP alebo UDP. TCP je skratka pre Transmission Control Protocol a je orientovaná na pripojenie. UDP je skratka pre Universal Datagram Protocol a je bez pripojenia. TCP sa bežne používa pre internetové aplikácie, zatiaľ čo UDP sa používa pre streamovanie médií alebo VPN.
Krok 1: Ako začneme?
Hore je uvedené, ako sa nazýva netcat. Vidíte, že na konci sú dva argumenty s názvom „cieľ“a „port“. Cieľ odkazuje na názov hostiteľa alebo ip adresu servera, ku ktorému sa pokúšame pripojiť, zatiaľ čo port odkazuje na port servera, ku ktorému sa pokúšame pripojiť.
Krok 2: Začnime
Hore je nejaký začínajúci kód pythonu. Ako vidíte, argumenty v programe chceme spracovať podobne, ako to robí skutočný nástroj. Názov hostiteľa bude prvým argumentom za názvom spustiteľného súboru, zatiaľ čo port bude druhým argumentom za názvom spustiteľného súboru v príkazovom riadku.
Krok 3: Vytvorenie pripojenia
Vytvorme funkciu netcat, ktorú môžeme použiť. V zásade tu robíme vytvorenie soketu a pripojenie k serveru pomocou uvedených parametrov. Aktuálnymi parametrami príkazu netcat sú názov hostiteľa a port servera, ku ktorému sa pokúšame pripojiť. Soket obsahuje parametre „socket. AF_INET“a „socket. SOCK_STREAM“, pretože pre tento návod predvolene používame pripojenie TCP.
Krok 4: Poďme odoslať určitý obsah
Rozšírili sme našu funkciu netcat o tretí parameter, „obsah“. Je tu veľa obsahu, takže si to rozoberme podľa čísla riadka.
Riadok 14-16: odosielame všetok obsah cez soket, chvíľu počkáme a potom zatvoríme soket pre všetky odchádzajúce údaje, aby soket vedel, že už žiadne dáta neprichádzajú.
Riadok 18-26: vytvoríme vyrovnávaciu pamäť na uloženie odpovede servera a kým soket prijíma údaje, k výsledku pripojíme až 1024 bajtov údajov, pokiaľ existujú údaje na čítanie.
Riadok 28-29: chceme, aby toto pripojenie netcat bolo jednorazové, preto vyhlásime spojenie za uzavreté a potom spojenie uzatvoríme.
Riadok 31: Toto je štandardná požiadavka HTTP. Ak spustíte kód s argumentmi príkazového riadka „google.com“a „80“, zobrazí sa správna odpoveď
Krok 5: Poďme mať otvorené pripojenie
Vyššie uvedený kód (ktorý sa nachádza pod kódom z predchádzajúcej časti) nám jednoducho umožňuje spúšťať viac príkazov netcat cez pseudootvorené pripojenie. (V skutočnosti sa pri každom spustení príkazu otvorí a potom zatvorí nové pripojenie TCP, takže v skutočnosti nebude napodobňovať správanie siete netcat, robíme to jednoducho kvôli učeniu.) Poďme to tiež rozdeliť na riadky:
Riadok 31: Chceme čítať príkazy neobmedzene, aby sme zachovali „interaktivitu“
Riadok 32: Toto je naša vyrovnávacia pamäť, ktorá bude uchovávať obsah našej požiadavky
Riadok 36-45: Budeme čítať do vyrovnávacej pamäte, kým nenačítame prázdny riadok
Riadok 48: Jednoducho nazývame našu funkciu netcat pomocou názvu hostiteľa, portu a novo vytvoreného obsahu (ktorý je správne zakódovaný)
Riadok 50: ak obsah našej vyrovnávacej pamäte niekedy obsahuje „Pripojenie: zatvorenie“(naznačuje, že chceme ukončiť spojenie), jednoducho sa vymaníme zo slučky
Krok 6: Záver
Na konci tohto tutoriálu by ste mali mať minimálnu funkčnú implementáciu netcat. Nechám na užívateľovi, aby implementoval funkcie, ako napríklad:
1. podpora ďalších protokolov
2. oprava kódu, aby sa zakaždým neukončilo spojenie
3. pridanie vlajok, ktoré netcat už musí zmeniť správanie
Odporúča:
Skener QR kódu pomocou OpenCV v Pythone: 7 krokov
Skener QR kódov pomocou OpenCV v Pythone: V dnešnom svete vidíme, že QR kód a čiarový kód sa používajú takmer všade, od balenia produktu po online platby a v dnešnej dobe vidíme QR kódy dokonca aj v reštaurácii, aby sme videli menu. Pochybujem, že je to teraz hlavná myšlienka. Ale už ste niekedy mali
Pozorovateľ vlhkosti a teploty pomocou Raspberry Pi s SHT25 v Pythone: 6 krokov
Pozorovateľ vlhkosti a teploty pomocou Raspberry Pi S SHT25 v Pythone: Ako nadšenec pre Raspberry Pi sme uvažovali o ďalších veľkolepých experimentoch. V tejto kampani vytvoríme pozorovateľa vlhkosti a teploty, ktorý meria relatívnu vlhkosť a teplotu pomocou Raspberry Pi a SHT25, Humidi
Grafy zmeny teploty od zmeny klímy v Pythone: 6 krokov
Grafy teplotných zmien a klimatických zmien v Pythone: Klimatické zmeny sú veľkým problémom. A veľa ľudí teraz nevie, ako veľmi to stúplo. V tomto návode budeme vykresľovať teplotné zmeny klímy v dôsledku klimatických zmien. Pokiaľ ide o cheat, môžete si nižšie pozrieť súbor python
Vytvorte skutočne skvelú maticu v Pythone!: 6 krokov
Vytvorte skutočne skvelú maticu v Pythone!: Ahoj chlapci! Tento návod vás naučí, ako vytvoriť maticu v Pythone! Ľudia zvyčajne v službe Batch vytvoria maticu, pretože je to jednoduché. Ale tentokrát vám ukážem, ako vytvoriť Matrix v jednom z výkonných počítačových jazykov
Detekcia farieb v Pythone pomocou OpenCV: 8 krokov
Detekcia farieb v Pythone pomocou OpenCV: Dobrý deň! Tento návod sa používa na návod, ako extrahovať konkrétnu farbu z obrázku v pythone pomocou knižnice openCV. Ak ste v tejto technike nováčik, nebojte sa, na konci tejto príručky budete môcť naprogramovať svoju vlastnú farbu