Satura rādītājs:
- 1. darbība. Kā mēs sākam?
- 2. darbība: sāksim
- 3. darbība. Savienojuma izveide
- 4. darbība: ļauj nosūtīt kādu saturu
- 5. darbība: ļauj izveidot atvērtu savienojumu
- 6. darbība. Secinājums
Video: Netcat Python: 6 soļi
2024 Autors: John Day | [email protected]. Pēdējoreiz modificēts: 2024-01-30 10:57
Kas ir netcat? Netcat rokasgrāmatas lapā ir teikts: "lietderība nc (vai netcat) tiek izmantota gandrīz visam zem saules, kas saistīta ar TCP, UDP vai UNIX domēna ligzdām. Tā var atvērt TCP savienojumus, nosūtīt UDP paketes, klausīties patvaļīgi TCP un UDP porti, veic portu skenēšanu un tiek galā gan ar IPv4, gan IPv6. Atšķirībā no telnet (1), nc labi skripta un atdala kļūdu ziņojumus uz standarta kļūdu, nevis nosūta tos uz standarta izvadi, kā to dara telnet (1)"
Būtībā netcat ļauj izveidot savienojumu ar citiem serveriem, izmantojot TCP vai UDP protokolu. TCP apzīmē pārraides kontroles protokolu un ir orientēts uz savienojumu. UDP apzīmē Universal Datagram Protocol un ir bez savienojuma. TCP parasti izmanto interneta lietojumprogrammām, bet UDP - multivides straumēšanai vai VPN.
1. darbība. Kā mēs sākam?
Iepriekš ir norādīts, kā sauc netcat. Jūs varat redzēt, ka beigās ir divi argumenti ar nosaukumu "galamērķis" un "osta". Galamērķis attiecas uz tā servera saimniekdatora nosaukumu vai IP adresi, ar kuru mēģinām izveidot savienojumu, savukārt ports attiecas uz servera portu, ar kuru mēģinām izveidot savienojumu.
2. darbība: sāksim
Iepriekš ir daži sākuma python kodi. Kā redzat, mēs vēlamies apstrādāt programmas argumentus līdzīgi kā faktiskā lietderība. Resursdatora nosaukums būs pirmais arguments pēc izpildāmā faila nosaukuma, bet ports būs otrais arguments pēc izpildāmā faila nosaukuma komandrindā.
3. darbība. Savienojuma izveide
Izveidosim netcat funkciju, kuru varam izmantot. Tas, ko mēs šeit galvenokārt darām, ir kontaktligzdas izveidošana un savienošanās ar serveri, izmantojot norādītos parametrus. Komandai netcat pašreizējie parametri ir servera resursdatora nosaukums un ports, ar kuru mēs mēģinām izveidot savienojumu. Ligzdā ir parametri "socket. AF_INET" un "socket. SOCK_STREAM", jo šajā apmācībā mēs noklusējuma režīmā izmantojam TCP savienojumu.
4. darbība: ļauj nosūtīt kādu saturu
Mēs paplašinājām savu netcat funkciju, lai ņemtu trešo parametru - "saturs". Šeit ir daudz satura, tāpēc sadalīsim to pēc rindas numura.
14-16. Rindiņa: mēs visu saturu nosūtām caur kontaktligzdu, mēs nedaudz pagaidām un pēc tam aizveram ligzdu visiem izejošajiem datiem, lai kontaktligzda zinātu, ka vairs netiek saņemti dati.
18.-26. Rinda: mēs izveidojam buferi servera atbildes saglabāšanai, un, kamēr ligzda saņem datus, mēs rezultātam pievienojam līdz 1024 baitiem datu, kamēr ir lasāmie dati.
28.-29. Rinda: mēs vēlamies, lai šis netcat savienojums būtu vienreizējs savienojums, tāpēc mēs paziņojam, ka savienojums ir slēgts, un pēc tam slēdzam savienojumu.
31. rinda: šis ir standarta HTTP pieprasījums. Ja jūs izpildāt kodu ar komandrindas argumentiem "google.com" un "80", jūs redzēsit pareizu HTTP atbildi
5. darbība: ļauj izveidot atvērtu savienojumu
Iepriekš minētais kods (kas atrodas zem koda no iepriekšējās sadaļas) vienkārši ļauj mums izpildīt vairākas netcat komandas pseidoatvērtā savienojumā. (Patiesībā katru reizi, kad palaižat komandu, tā tiek atvērta un pēc tam aizvērta jauna TCP savienojuma, tāpēc tā patiesi neatdarina netcat uzvedību, mēs to vienkārši darām mācību nolūkos). Sadalīsim arī šo rindu pa rindām:
31. rinda: mēs vēlamies lasīt komandas bezgalīgi, lai saglabātu "interaktivitāti"
32. rinda: tas ir mūsu buferis, kurā tiks saglabāts mūsu pieprasījuma saturs
36.-45. Rinda: mēs lasīsim buferī, līdz lasīsim tukšu rindu
48. rinda: mēs vienkārši izsaucam savu funkciju netcat ar resursdatora nosaukumu, portu un jaunizveidotu saturu (kas ir pareizi kodēts)
50. rinda: ja mūsu bufera saturs kādreiz satur “Connection: Close” (norādot, ka vēlamies slēgt savienojumu), mēs vienkārši izkļūstam no cilpas
6. darbība. Secinājums
Šīs apmācības beigās jums vajadzētu būt minimālai netcat ieviešanai. Es atstāšu lietotājam uzdevumu īstenot tādas funkcijas kā:
1. citu protokolu atbalstīšana
2. nosakot kodu, lai katru reizi netiktu pārtraukts savienojums
3. pievienojot karodziņus, ka netcat jau ir jāmaina uzvedība
Ieteicams:
Mapju sinhronizēšana ar Python: 5 soļi
Mapju sinhronizēšana ar Python: Šī pamācība parādīs, kā divas mapes (un visas tajās esošās mapes) sinhronizēt, lai viena būtu tieša otras kopija. Ideāli piemērots darba dublēšanai gan lokāli, gan mākoņa/tīkla serverī vai USB diskdzinī. Nav pieredzes ar programmēšanu
Python Tic Tac Toe spēle: 4 soļi
Python Tic Tac Toe spēle: python tic tac toe spēle šī spēle ir veidota datorā lietojamā python i esmu izmantojis python redaktoru ar nosaukumu: pycharm jūs varat izmantot arī parasto python koda redaktoru
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): 8 soļi
Akustiskā levitācija ar Arduino Uno soli pa solim (8 soļi): ultraskaņas skaņas pārveidotāji L298N līdzstrāvas adaptera strāvas padeve ar vīriešu līdzstrāvas tapu Arduino UNOBreadboard un analogie porti koda konvertēšanai (C ++)
Netcat Fun!: 5 soļi
Netcat Fun! Šis pamācība parāda, kā datorā izveidot aizmugurējās durvis, izmantojot netcat! Es jums parādīšu divus veidus, kā to izdarīt, ar un bez mana sērijveida faila, kas to automatizē jums. Šajā pamācībā jau tiek pieņemts, ka jums jau ir sakņu atļaujas
Vairāk jautrības ar Netcat !!: 4 soļi
Vairāk jautrības ar Netcat !!: Tagad, ja neesat izlasījis līmlentes Netcat Backdoors ceļvedi, izlasiet to un tad nāciet šeit. Šajā pamācībā ir apskatītas pamata netcat komandas un to izmantošana. Tas arī pārvar dažas pamata partijas komandas