Tartalomjegyzék:
- 1. lépés: Hogyan kezdjük?
- 2. lépés: Kezdjük
- 3. lépés: Kapcsolat létrehozása
- 4. lépés: Küldjünk el néhány tartalmat
- 5. lépés: Legyen nyílt kapcsolatunk
- 6. lépés: Következtetés
![Netcat a Pythonban: 6 lépés Netcat a Pythonban: 6 lépés](https://i.howwhatproduce.com/images/003/image-6904-22-j.webp)
Videó: Netcat a Pythonban: 6 lépés
![Videó: Netcat a Pythonban: 6 lépés Videó: Netcat a Pythonban: 6 lépés](https://i.ytimg.com/vi/q9e52hJ1Q4A/hqdefault.jpg)
2024 Szerző: John Day | [email protected]. Utoljára módosítva: 2024-01-30 09:42
![Netcat a Pythonban Netcat a Pythonban](https://i.howwhatproduce.com/images/003/image-6904-23-j.webp)
Mi az a netcat? A netcat kézikönyvének oldala a következőket mondja: "Az nc (vagy netcat) segédprogram szinte mindenre használható, ahol a nap alatt TCP, UDP vagy UNIX tartományú socketeket használnak. Megnyithatja a TCP kapcsolatokat, UDP csomagokat küldhet, tetszőleges módon hallgathatja TCP és UDP portok, portok szkennelése és IPv4 és IPv6 kezelése is. A telnettől (1) eltérően az nc szkriptjei rendben vannak, és a hibaüzeneteket szabványos hibára osztja fel, ahelyett, hogy szabványos kimenetre küldi őket, ahogy a telnet (1) néhány"
Lényegében a netcat lehetővé teszi, hogy TCP vagy UDP protokoll használatával csatlakozzon más szerverhez. A TCP jelentése Transmission Control Protocol, és kapcsolatorientált. Az UDP jelentése Universal Datagram Protocol, és kapcsolat nélküli. A TCP -t általában internetes alkalmazásokhoz használják, míg az UDP -t média streaminghez vagy VPN -hez.
1. lépés: Hogyan kezdjük?
![Hogyan kezdjük? Hogyan kezdjük?](https://i.howwhatproduce.com/images/003/image-6904-24-j.webp)
Fent a netcat neve. Látható, hogy a végén két érv található: "cél" és "port". A rendeltetési hely annak a kiszolgálónak a gazdagépnevére vagy IP -címére vonatkozik, amelyhez csatlakozni próbálunk, míg a port annak a kiszolgálónak a portjára utal, amelyhez csatlakozni próbálunk.
2. lépés: Kezdjük
![Kezdjük Kezdjük](https://i.howwhatproduce.com/images/003/image-6904-25-j.webp)
A fenti néhány kezdő python kód. Amint láthatja, a programhoz tartozó érveket a tényleges segédprogramhoz hasonlóan szeretnénk feldolgozni. A gazdagépnév lesz az első argumentum a végrehajtható fájl neve után, míg a port a második argumentum a végrehajtható fájl neve után a parancssorban.
3. lépés: Kapcsolat létrehozása
![Kapcsolat létrehozása Kapcsolat létrehozása](https://i.howwhatproduce.com/images/003/image-6904-26-j.webp)
Hozzunk létre egy használható netcat függvényt. Itt alapvetően egy aljzatot hozunk létre, és a megadott paraméterek használatával csatlakozunk a szerverhez. A netcat parancs esetében az aktuális paraméterek a kiszolgáló gazdaneve és portja, amelyhez csatlakozni próbálunk. Az aljzat tartalmazza a "socket. AF_INET" és "socket. SOCK_STREAM" paramétereket, mert ebben az oktatóanyagban alapértelmezés szerint TCP -kapcsolatot használunk.
4. lépés: Küldjünk el néhány tartalmat
![Küldjünk néhány tartalmat Küldjünk néhány tartalmat](https://i.howwhatproduce.com/images/003/image-6904-27-j.webp)
Bővítettük a netcat függvényünket egy harmadik paraméterre, a "content" -re. Rengeteg tartalom van itt, ezért bontsuk le sorszám szerint.
14-16. Sor: az összes tartalmat az aljzaton keresztül küldjük, várunk egy kicsit, majd bezárjuk a foglalatot a kimenő adatokhoz, így a foglalat tudja, hogy nincs több adat.
18-26. Sor: puffert hozunk létre a szerver válaszának tárolására, és amíg az aljzat adatokat fogad, legfeljebb 1024 bájt adatot fűzünk az eredményhez, amíg van olvasandó adat.
28-29. Sor: azt akarjuk, hogy ez a netcat kapcsolat egyszeri kapcsolat legyen, ezért a kapcsolatot lezártnak nyilvánítjuk, majd lezárjuk a kapcsolatot.
31. sor: Ez egy szabványos HTTP -kérés. Ha a kódot a "google.com" és a "80" parancssori argumentumokkal futtatja, akkor megfelelő HTTP -választ fog látni
5. lépés: Legyen nyílt kapcsolatunk
![Legyen nyitott kapcsolatunk Legyen nyitott kapcsolatunk](https://i.howwhatproduce.com/images/003/image-6904-28-j.webp)
A fenti kód (amely az előző szakasz kódja alatt található) egyszerűen lehetővé teszi számunkra, hogy futtassunk többszörös netcat parancsokat pszeudo-nyílt kapcsolaton keresztül. (Valójában minden egyes parancs futtatásakor megnyílik, majd bezár egy új TCP kapcsolatot, tehát nem igazán emulálja a netcat viselkedését, ezt egyszerűen tanulási célból tesszük). Ezt is lebonthatjuk soronként:
31. sor: Korlátlan ideig szeretnénk olvasni a parancsokat az "interaktivitás" fenntartása érdekében
32. sor: Ez a pufferünk, amely tárolja kérésünk tartalmát
36-45. Sor: Addig olvasunk a pufferbe, amíg ki nem olvasunk egy üres sort
48. sor: egyszerűen meghívjuk a netcat függvényünket a gazdagépnévvel, a porttal és az újonnan létrehozott tartalommal (amely megfelelően kódolt)
50. sor: ha pufferünk tartalma valaha tartalmaz "Connection: Close" (jelezve, hogy le akarjuk zárni a kapcsolatot), egyszerűen kitörünk a körből
6. lépés: Következtetés
Ennek az oktatóanyagnak a végén egy minimálisan működő netcat implementációval kell rendelkeznie. Gyakorlatként a felhasználóra bízom az olyan funkciók megvalósítását, mint:
1. egyéb protokollok támogatása
2. rögzítse a kódot, hogy ne zárja le a kapcsolatot minden alkalommal
3. olyan zászlók hozzáadása, amelyeknek a netcat -nek már módosítania kell a viselkedést
Ajánlott:
QR -kód -szkenner az OpenCV használatával Pythonban: 7 lépés
![QR -kód -szkenner az OpenCV használatával Pythonban: 7 lépés QR -kód -szkenner az OpenCV használatával Pythonban: 7 lépés](https://i.howwhatproduce.com/images/001/image-2256-j.webp)
QR-kód-szkenner az OpenCV használatával Pythonban: A mai világban azt látjuk, hogy a QR-kódot és a vonalkódot szinte mindenhol használják, a termékcsomagolástól az online fizetésig, és manapság már az étteremben is látjuk a QR-kódokat a menü megtekintéséhez. kétlem, hogy ez most a nagy gondolat. De szenvedtél már valaha
Caesar Cipher program Pythonban: 4 lépés
![Caesar Cipher program Pythonban: 4 lépés Caesar Cipher program Pythonban: 4 lépés](https://i.howwhatproduce.com/images/002/image-3900-j.webp)
Caesar Cipher Program Pythonban: A Caesar Cipher egy ősi és széles körben használt rejtjelezés, amelyet könnyű titkosítani és visszafejteni. Úgy működik, hogy az ábécé betűit áthelyezi egy teljesen új ábécé létrehozásához (az ABCDEF 4 betű fölé tolódhat, és EFGHIJ lesz). Caesar C
Páratartalom és hőmérséklet megfigyelő Raspberry Pi használatával SHT25 -tel Pythonban: 6 lépés
![Páratartalom és hőmérséklet megfigyelő Raspberry Pi használatával SHT25 -tel Pythonban: 6 lépés Páratartalom és hőmérséklet megfigyelő Raspberry Pi használatával SHT25 -tel Pythonban: 6 lépés](https://i.howwhatproduce.com/images/004/image-10452-j.webp)
Páratartalom és hőmérséklet megfigyelő a Raspberry Pi használatával az SHT25 -tel Pythonban: A Raspberry Pi rajongójaként néhány látványosabb kísérletet gondoltunk vele. Ebben a kampányban olyan páratartalom- és hőmérséklet -megfigyelőt készítünk, amely a relatív páratartalmat és hőmérsékletet méri a Raspberry Pi segítségével és SHT25, Humidi
Készíts egy igazán jó mátrixot a Pythonban !: 6 lépés
![Készíts egy igazán jó mátrixot a Pythonban !: 6 lépés Készíts egy igazán jó mátrixot a Pythonban !: 6 lépés](https://i.howwhatproduce.com/images/006/image-16561-j.webp)
Készíts egy igazán jó mátrixot a Pythonban !: Sziasztok srácok! Ez az utasítás megtanítja, hogyan kell mátrixot készíteni a Pythonban! Általában az emberek mátrixot készítenek a Batch -ben, mert ez egyszerű. De ezúttal megmutatom, hogyan lehet mátrixot készíteni az egyik hatékony számítógépes nyelven
Színészlelés Pythonban OpenCV használatával: 8 lépés
![Színészlelés Pythonban OpenCV használatával: 8 lépés Színészlelés Pythonban OpenCV használatával: 8 lépés](https://i.howwhatproduce.com/images/007/image-18629-j.webp)
Színészlelés Pythonban az OpenCV használatával: Üdv! Ez az utasítás arra szolgál, hogy útmutatást nyújtson, hogyan lehet kinyerni egy adott színt a képből a pythonban az openCV könyvtár használatával. Ha még nem ismeri ezt a technikát, ne aggódjon, az útmutató végén saját színét programozhatja