Inhoudsopgave:
- Stap 1: Hoe beginnen we?
- Stap 2: Laten we beginnen
- Stap 3: Een verbinding maken
- Stap 4: Laten we wat inhoud verzenden
- Stap 5: Laten we een open verbinding hebben
- Stap 6: Conclusie
Video: Netcat in Python: 6 stappen
2024 Auteur: John Day | [email protected]. Laatst gewijzigd: 2024-01-30 11:18
Wat is netcat? De handleiding voor netcat zegt het volgende: "het hulpprogramma nc (of netcat) wordt gebruikt voor zowat alles onder de zon met betrekking tot TCP-, UDP- of UNIX-domeinsockets. Het kan TCP-verbindingen openen, UDP-pakketten verzenden, luisteren naar willekeurige TCP- en UDP-poorten, scannen van poorten en omgaan met zowel IPv4 als IPv6. In tegenstelling tot telnet(1), nc scripts netjes, en scheidt foutmeldingen op standaardfout in plaats van ze naar standaarduitvoer te sturen, zoals telnet(1) doet met sommige"
In wezen stelt netcat u in staat om verbinding te maken met andere servers via het TCP- of UDP-protocol. TCP staat voor Transmission Control Protocol en is verbindingsgericht. UDP staat voor Universal Datagram Protocol en is verbindingsloos. TCP wordt vaak gebruikt voor internettoepassingen, terwijl UDP wordt gebruikt voor mediastreaming of VPN's.
Stap 1: Hoe beginnen we?
Hierboven is hoe netcat wordt genoemd. U kunt zien dat er aan het einde twee argumenten zijn genaamd "bestemming" en "poort". De bestemming verwijst naar een hostnaam of ip-adres van de server waarmee we verbinding proberen te maken, terwijl de poort verwijst naar de poort van de server waarmee we verbinding proberen te maken.
Stap 2: Laten we beginnen
Hierboven staat wat beginnende python-code. Zoals u kunt zien, willen we de argumenten voor het programma op dezelfde manier verwerken als het daadwerkelijke hulpprogramma. De hostnaam is het eerste argument na de naam van het uitvoerbare bestand, terwijl de poort het tweede argument is na de naam van het uitvoerbare bestand in de opdrachtregel.
Stap 3: Een verbinding maken
Laten we een netcat-functie maken die we kunnen gebruiken. Wat we hier in feite doen, is een socket maken en verbinding maken met de server met behulp van de gegeven parameters. Voor het netcat-commando zijn de huidige parameters de hostnaam en poort van de server waarmee we verbinding proberen te maken. De socket bevat de parameters "socket. AF_INET" en "socket. SOCK_STREAM" omdat we voor deze tutorial standaard een TCP-verbinding gebruiken.
Stap 4: Laten we wat inhoud verzenden
We hebben onze netcat-functie uitgebreid met een derde parameter, 'content'. Er is hier veel inhoud, dus laten we het uitsplitsen op regelnummer.
Regel 14-16: we sturen alle inhoud over de socket, we wachten even, en dan sluiten we de socket voor alle uitgaande gegevens, zodat de socket weet dat er geen gegevens meer komen.
Regel 18-26: we creëren een buffer om de serverreactie op te slaan, en terwijl de socket gegevens ontvangt, voegen we maximaal 1024 bytes aan gegevens toe aan het resultaat, zolang er gegevens zijn om te lezen.
Regel 28-29: we willen dat deze netcat-verbinding een eenmalige verbinding is, dus verklaren we de verbinding gesloten en sluiten vervolgens de verbinding.
Regel 31: Dit is een standaard HTTP-verzoek. Als u de code uitvoert met de opdrachtregelargumenten "google.com" en "80", dan ziet u een correct
Stap 5: Laten we een open verbinding hebben
De bovenstaande code (die zich onder de code uit de vorige sectie bevindt) stelt ons eenvoudig in staat om meerdere netcat-opdrachten uit te voeren via een pseudo-open verbinding. (In werkelijkheid, elke keer dat je een commando uitvoert, opent en sluit het een nieuwe TCP-verbinding, dus het emuleert niet echt het gedrag van netcat, we doen dit gewoon voor leerdoeleinden). Laten we dit ook regel voor regel opsplitsen:
Regel 31: We willen commando's voor onbepaalde tijd lezen om "interactiviteit" te behouden
Regel 32: Dit is onze buffer die de inhoud van ons verzoek zal opslaan
Regel 36-45: We lezen in de buffer totdat we een lege regel lezen
Regel 48: we roepen gewoon onze netcat-functie aan met de hostnaam, poort en nieuw gemaakte inhoud (die correct is gecodeerd)
Regel 50: als de inhoud van onze buffer ooit "Connection: Close" bevat (wat aangeeft dat we de verbinding willen sluiten), breken we gewoon uit de lus
Stap 6: Conclusie
Aan het einde van deze tutorial zou je een minimaal werkende netcat-implementatie moeten hebben. Ik zal het als een oefening aan de gebruiker overlaten om functies te implementeren zoals:
1. ondersteuning van andere protocollen
2. de code repareren om de verbinding niet elke keer te sluiten
3. vlaggen toevoegen die netcat al heeft om het gedrag te wijzigen
Aanbevolen:
Mappen synchroniseren met Python: 5 stappen
Mappen synchroniseren met Python: deze instructable laat je zien hoe je twee mappen (en alle mappen daarin) synchroon kunt houden, zodat de ene een directe kopie van de andere is. Ideaal voor het back-uppen van werk zowel lokaal, naar een cloud/netwerkserver of een USB-stick. Geen ervaring met programmeren is n
Python-introductie - Katsuhiko Matsuda & Edwin Cijo - Basis: 7 stappen
Python Introductie - Katsuhiko Matsuda & Edwin Cijo - Basis: Hallo, we zijn 2 studenten in MYP 2. We willen je de basis leren van het coderen van Python. Het werd eind jaren 80 gemaakt door Guido van Rossum in Nederland. Het werd gemaakt als een opvolger van de ABC-taal. Zijn naam is "Python" omdat wanneer
QR-codescanner met OpenCV in Python: 7 stappen
QR-codescanner met OpenCV in Python: in de wereld van vandaag zien we dat QR-code en streepjescode bijna overal worden gebruikt, van productverpakkingen tot online betalingen en tegenwoordig zien we QR-codes zelfs in restaurants om het menu te zien. Dus nee betwijfel of het nu de grote gedachte is. Maar heb je ooit
Netcat Fun!: 5 stappen
Netcat Fun!: Deze instructable laat je zien hoe je een achterdeur maakt op een computer met netcat! Ik zal je twee manieren laten zien om dit te doen, met en zonder mijn batchbestand dat het voor je automatiseert. Deze instructable gaat er al van uit dat je al root-permissi hebt
Meer plezier met Netcat!!: 4 stappen
Meer plezier met Netcat!!: Als je de handleiding van ducttape voor Netcat Backdoors nog niet hebt gelezen, lees dat dan en kom dan hier. Deze Instructable gaat over de basis netcat-commando's en hoe ze te gebruiken. Het gaat ook over enkele basisbatchcommando's