Съдържание:
- Стъпка 1: Как да започнем?
- Стъпка 2: Нека започнем
- Стъпка 3: Създаване на връзка
- Стъпка 4: Нека изпратим малко съдържание
- Стъпка 5: Нека имаме отворена връзка
- Стъпка 6: Заключение
Видео: Netcat в Python: 6 стъпки
2024 Автор: John Day | [email protected]. Последно модифициран: 2024-01-30 07:53
Какво е netcat? На страницата с ръководството за netcat се казва следното: „Помощната програма nc (или netcat) се използва за почти всичко под слънцето, включващо сокети за TCP, UDP или UNIX домейн. Тя може да отваря TCP връзки, да изпраща UDP пакети, да слуша по произволен начин. TCP и UDP портове, извършват сканиране на портове и се справят както с IPv4, така и с IPv6. За разлика от telnet (1), nc скриптове добре и разделят съобщенията за грешка на стандартна грешка, вместо да ги изпращат към стандартен изход, както telnet (1) прави с някои"
По същество, netcat ви позволява да се свързвате с други сървъри, използвайки TCP или UDP протокол. TCP означава Протокол за управление на предаването и е ориентиран към връзката. UDP означава Универсален протокол за дейтаграма и е без връзка. TCP обикновено се използва за интернет приложения, докато UDP се използва за поточно предаване на медии или VPN.
Стъпка 1: Как да започнем?
По -горе е как се нарича netcat. Можете да видите, че в края има два аргумента, наречени „дестинация“и „порт“. Дестинацията се отнася до име на хост или ip адрес на сървъра, към който се опитваме да се свържем, докато портът се отнася до порта на сървъра, към който се опитваме да се свържем.
Стъпка 2: Нека започнем
По -горе е някакъв начален код на python. Както можете да видите, ние искаме да обработим аргументите на програмата подобно на действителната помощна програма. Името на хоста ще бъде първият аргумент след името на изпълнимия файл, докато портът ще бъде вторият аргумент след името на изпълнимия файл в командния ред.
Стъпка 3: Създаване на връзка
Нека създадем функция netcat, която можем да използваме. Това, което основно правим тук, е да създадем гнездо и да се свържем със сървъра, като използваме дадените параметри. За командата netcat текущите параметри са името на хоста и порта на сървъра, към който се опитваме да се свържем. Сокетът съдържа параметрите "socket. AF_INET" и "socket. SOCK_STREAM", защото по подразбиране използваме TCP връзка за този урок.
Стъпка 4: Нека изпратим малко съдържание
Разширихме нашата функция netcat, за да вземем трети параметър, „съдържание“. Тук има много съдържание, така че нека го разделим по номер на ред.
Ред 14-16: изпращаме цялото съдържание през сокета, изчакваме малко и след това затваряме сокета за всички изходящи данни, така че сокетът да знае, че няма да идват повече данни.
Ред 18-26: създаваме буфер за съхраняване на отговора на сървъра и докато сокетът получава данни, ние добавяме до 1024 байта данни към резултата, стига да има данни за четене.
Ред 28-29: искаме тази netcat връзка да бъде еднократна, затова обявяваме връзката за затворена и след това затваряме връзката.
Ред 31: Това е стандартна HTTP заявка. Ако стартирате кода с аргументите на командния ред „google.com“и „80“, тогава ще видите подходящ HTTP отговор
Стъпка 5: Нека имаме отворена връзка
Горният код (който се намира под кода от предишния раздел) просто ни позволява да изпълняваме множество команди netcat през псевдоотворена връзка. (В действителност всеки път, когато изпълнявате команда, тя се отваря и след това затваря нова TCP връзка, така че тя наистина не подражава на поведението на netcat, ние просто правим това за учебни цели). Нека разделим и този ред по ред:
Ред 31: Искаме да четем команди за неопределено време, за да поддържаме „интерактивност“
Ред 32: Това е нашият буфер, който ще съхранява съдържанието на нашата заявка
Ред 36-45: Ще четем в буфера, докато не прочетем празен ред
Ред 48: ние просто извикваме нашата функция netcat с името на хоста, порта и новосъздаденото съдържание (което е правилно кодирано)
Ред 50: ако съдържанието на нашия буфер някога съдържа "Connection: Close" (което показва, че искаме да затворим връзката), ние просто излизаме от цикъла
Стъпка 6: Заключение
В края на този урок трябва да имате минимална работна реализация на netcat. Ще оставя като упражнение на потребителя да внедри функции като:
1. поддържащи други протоколи
2. определяне на кода да не затваря връзката всеки път
3. добавяне на флагове, които netcat вече трябва да промени поведението
Препоръчано:
Синхронизиране на папки с Python: 5 стъпки
Синхронизиране на папки с Python: Тази инструкция ще ви покаже как да поддържате две папки (и всички папки в тях) в синхрон, така че едната да е директно копие на другата. Идеален за архивиране на работа както локално, към облачен/мрежов сървър или USB устройство. Няма опит с програмирането
Игра Python Tic Tac Toe: 4 стъпки
Python Tic Tac Toe Game: играта python tic tac toe тази игра е направена на python, който е компютърен език използвах редактор на python, наречен: pycharm, можете да използвате и нормален редактор на кода на python
Първи стъпки с Python за ESP8266 и ESP32: 6 стъпки
Първи стъпки с Python за ESP8266 и ESP32: Bacground ESP8266 и неговият по-малък брат ESP32 са евтини Wi-Fi микрочипове с пълен TCP/IP стек и възможност за микроконтролер. Чипът ESP8266 за пръв път попадна в общността на производителите през 2014 г. Оттогава ниската цена (
Netcat Fun !: 5 стъпки
Netcat Fun !: Тази инструкция ви показва как да създадете задна врата на компютър с netcat! Ще ви покажа два начина да направите това, със и без моя пакетен файл, който го автоматизира вместо вас. Тази инструкция вече предполага, че вече имате root разрешение
Повече забавление с Netcat !!: 4 стъпки
Повече забавление с Netcat !!: Сега, ако не сте прочели ръководството на тиксо за Netcat Backdoors, прочетете това и елате тук. Този Instructable разглежда основните команди на netcat и как да ги използвате. Той също така обхваща някои основни партидни команди