Obsah:
- Krok 1: Jak začneme?
- Krok 2: Začněme
- Krok 3: Vytvoření připojení
- Krok 4: Umožňuje odeslat nějaký obsah
- Krok 5: Pojďme mít otevřené připojení
- Krok 6: Závěr
Video: Netcat v Pythonu: 6 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:23
Co je netcat? Stránka manuálu pro netcat uvádí následující: „Nástroj nc (nebo netcat) se používá téměř ke všemu, co je pod sluncem, včetně soketů domén TCP, UDP nebo UNIX. Může otevírat připojení TCP, odesílat pakety UDP, poslouchat libovolně Porty TCP a UDP provádějí skenování portů a vypořádávají se s protokoly IPv4 i IPv6. Na rozdíl od telnetu (1) skript nc pěkně skriptuje a odděluje chybové zprávy na standardní chyby místo jejich odesílání na standardní výstup, jak to dělá telnet (1) u některých"
Netcat vám v podstatě umožňuje připojit se k jiným serverům pomocí protokolu TCP nebo UDP. TCP znamená Transmission Control Protocol a je orientovaný na připojení. UDP znamená Universal Datagram Protocol a je bez připojení. TCP se běžně používá pro internetové aplikace, zatímco UDP se používá pro streamování médií nebo VPN.
Krok 1: Jak začneme?
Výše je uvedeno, jak se nazývá netcat. Vidíte, že na konci jsou dva argumenty s názvem „destinace“a „port“. Cíl odkazuje na název hostitele nebo IP adresu serveru, ke kterému se pokoušíme připojit, zatímco port odkazuje na port serveru, ke kterému se pokoušíme připojit.
Krok 2: Začněme
Nahoře je nějaký začínající kód pythonu. Jak vidíte, chceme zpracovat argumenty programu podobně, jako to dělá skutečný nástroj. Název hostitele bude prvním argumentem za názvem spustitelného souboru, zatímco port bude druhým argumentem za názvem spustitelného souboru na příkazovém řádku.
Krok 3: Vytvoření připojení
Vytvořme funkci netcat, kterou můžeme použít. V zásadě zde děláme vytvoření soketu a připojení k serveru pomocí zadaných parametrů. Pro příkaz netcat jsou aktuálními parametry název hostitele a port serveru, ke kterému se pokoušíme připojit. Soket obsahuje parametry „socket. AF_INET“a „socket. SOCK_STREAM“, protože pro tento výukový program používáme výchozí připojení TCP.
Krok 4: Umožňuje odeslat nějaký obsah
Rozšířili jsme naši funkci netcat, aby získala třetí parametr, „obsah“. Je tu hodně obsahu, pojďme to tedy rozdělit podle čísla řádku.
Řádek 14-16: odešleme veškerý obsah přes soket, chvíli počkáme a poté uzavřeme soket pro všechna odchozí data, aby soket věděl, že žádná další data nepřicházejí.
Řádek 18-26: vytvoříme vyrovnávací paměť pro uložení odpovědi serveru a zatímco soket přijímá data, připojíme k výsledku až 1024 bajtů dat, pokud jsou k dispozici data ke čtení.
Řádek 28-29: chceme, aby toto připojení k netcatu bylo jednorázové, proto prohlásíme připojení za uzavřené a poté připojení uzavřeme.
Řádek 31: Toto je standardní požadavek HTTP. Pokud spustíte kód s argumenty příkazového řádku „google.com“a „80“, uvidíte správnou odpověď
Krok 5: Pojďme mít otevřené připojení
Výše uvedený kód (který je umístěn pod kódem z předchozí části) nám jednoduše umožňuje spouštět více příkazů netcat přes pseudootevřené připojení. (Ve skutečnosti pokaždé, když spustíte příkaz, otevře a zavře nové připojení TCP, takže ve skutečnosti neimuluje chování netcatu, děláme to jednoduše pro účely učení). Pojďme to rozebrat také řádek po řádku:
Řádek 31: Chceme číst příkazy neomezeně, abychom udrželi „interaktivitu“
Řádek 32: Toto je naše vyrovnávací paměť, která bude ukládat obsah naší žádosti
Řádek 36-45: Budeme číst do vyrovnávací paměti, dokud nenačteme prázdný řádek
Řádek 48: Jednoduše zavoláme funkci netcat pomocí názvu hostitele, portu a nově vytvořeného obsahu (který je správně zakódován)
Řádek 50: pokud obsah naší vyrovnávací paměti někdy obsahuje „Připojení: Zavřít“(což znamená, že chceme připojení ukončit), jednoduše se vymaníme ze smyčky
Krok 6: Závěr
Na konci tohoto kurzu byste měli mít minimální funkční implementaci netcatu. Nechám na uživateli, aby implementoval funkce, jako jsou:
1. podpora dalších protokolů
2. oprava kódu, aby se připojení pokaždé neukončilo
3. přidání příznaků, které netcat již musí upravit chování
Doporučuje:
Úvod do Pythonu - Katsuhiko Matsuda & Edwin Cijo - Základy: 7 kroků
Úvod do Pythonu - Katsuhiko Matsuda & Edwin Cijo - Základy: Dobrý den, jsme 2 studenti MYP 2. Chceme vás naučit základy kódování Pythonu. Vytvořil jej koncem 80. let Guido van Rossum v Nizozemsku. Byl vyroben jako nástupce jazyka ABC. Jmenuje se " Python " protože když
Skener QR kódu pomocí OpenCV v Pythonu: 7 kroků
Skener QR kódů pomocí OpenCV v Pythonu: V dnešním světě vidíme, že QR kód a čárový kód jsou používány téměř všude, od balení produktů po online platby a dnes vidíme QR kódy i v restauraci, abychom viděli menu. teď pochybuji, že je to velká myšlenka. Ale už jste někdy měli
Použití Pythonu k učení neanglických rozložení klávesnice: 8 kroků
Použití Pythonu k učení neanglických rozvržení klávesnice: Ahoj, já jsem Julien! Jsem student informatiky a dnes vám ukážu, jak můžete pomocí Pythonu naučit rozložení klávesnice v neanglickém jazyce. V dnešní době probíhá online mnoho jazykových kurzů a jedna věc, kterou si lidé mohou uvědomit
Jak vytvořit svůj první jednoduchý software pomocí Pythonu: 6 kroků
Jak vytvořit svůj první jednoduchý software pomocí Pythonu: Ahoj, vítejte v tomto Instructables. Zde vám řeknu, jak vytvořit vlastní software. Ano, pokud máte nápad … ale víte implementovat nebo máte zájem vytvářet nové věci, pak je to pro vás … Předpoklad: Měli byste mít základní znalosti o P
Twitter Bot pomocí Pythonu: 5 kroků
Twitter Bot pomocí Pythonu: Twitter bot