สารบัญ:
- ขั้นตอนที่ 1: เราจะเริ่มต้นอย่างไร
- ขั้นตอนที่ 2: เริ่มกันเลย
- ขั้นตอนที่ 3: การสร้างการเชื่อมต่อ
- ขั้นตอนที่ 4: มาส่งเนื้อหากันเถอะ
- ขั้นตอนที่ 5: ให้มีการเชื่อมต่อแบบเปิด
- ขั้นตอนที่ 6: บทสรุป
วีดีโอ: Netcat ใน Python: 6 ขั้นตอน
2024 ผู้เขียน: John Day | [email protected]. แก้ไขล่าสุด: 2024-01-30 13:07
netcat คืออะไร? หน้าคู่มือสำหรับ netcat ระบุว่า: "ยูทิลิตี้ nc (หรือ netcat) ใช้สำหรับทุกอย่างภายใต้ดวงอาทิตย์ที่เกี่ยวข้องกับซ็อกเก็ตโดเมน TCP, UDP หรือ UNIX มันสามารถเปิดการเชื่อมต่อ TCP ส่งแพ็กเก็ต UDP ฟังโดยพลการ พอร์ต TCP และ UDP ทำการสแกนพอร์ต และจัดการกับทั้ง IPv4 และ IPv6 สคริปต์ nc ต่างจาก telnet(1) เป็นอย่างดี และแยกข้อความแสดงข้อผิดพลาดออกเป็นข้อผิดพลาดมาตรฐานแทนที่จะส่งไปยังเอาต์พุตมาตรฐาน เช่นเดียวกับที่ telnet(1) ทำกับบางพอร์ต"
โดยพื้นฐานแล้ว netcat อนุญาตให้คุณเชื่อมต่อกับเซิร์ฟเวอร์อื่นโดยใช้โปรโตคอล TCP หรือ UDP TCP ย่อมาจาก Transmission Control Protocol และเน้นการเชื่อมต่อ UDP ย่อมาจาก Universal Datagram Protocol และไม่มีการเชื่อมต่อ โดยทั่วไปจะใช้ TCP สำหรับแอปพลิเคชันอินเทอร์เน็ต ในขณะที่ UDP ใช้สำหรับสตรีมสื่อหรือ VPN
ขั้นตอนที่ 1: เราจะเริ่มต้นอย่างไร
ด้านบนเป็นวิธีที่เรียกว่า netcat คุณจะเห็นว่ามีข้อโต้แย้งสองข้อในตอนท้ายที่เรียกว่า "ปลายทาง" และ "พอร์ต" ปลายทางหมายถึงชื่อโฮสต์หรือที่อยู่ IP ของเซิร์ฟเวอร์ที่เรากำลังพยายามเชื่อมต่อ ในขณะที่พอร์ตหมายถึงพอร์ตของเซิร์ฟเวอร์ที่เรากำลังพยายามเชื่อมต่อ
ขั้นตอนที่ 2: เริ่มกันเลย
ด้านบนเป็นรหัสหลามเริ่มต้นบางส่วน อย่างที่คุณเห็น เราต้องการประมวลผลอาร์กิวเมนต์ของโปรแกรมเหมือนกับยูทิลิตี้จริง ชื่อโฮสต์จะเป็นอาร์กิวเมนต์แรกต่อจากชื่อของไฟล์เรียกทำงาน ในขณะที่พอร์ตจะเป็นอาร์กิวเมนต์ที่สองต่อจากชื่อของไฟล์สั่งการในบรรทัดคำสั่ง
ขั้นตอนที่ 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: หากเนื้อหาของบัฟเฟอร์ของเรามี "การเชื่อมต่อ: ปิด" (แสดงว่าเราต้องการปิดการเชื่อมต่อ) เราก็แยกจากลูป
ขั้นตอนที่ 6: บทสรุป
ในตอนท้ายของบทช่วยสอนนี้ คุณควรมีการใช้งาน netcat น้อยที่สุด ฉันจะปล่อยให้มันเป็นแบบฝึกหัดสำหรับผู้ใช้ในการใช้คุณสมบัติเช่น:
1. รองรับโปรโตคอลอื่น ๆ
2. แก้ไขรหัสไม่ให้ปิดการเชื่อมต่อทุกครั้ง
3. เพิ่มแฟล็กที่ netcat ได้ปรับเปลี่ยนพฤติกรรมแล้ว
แนะนำ:
การซิงค์โฟลเดอร์ด้วย Python: 5 ขั้นตอน
การซิงค์โฟลเดอร์ด้วย Python: คำแนะนำนี้จะแสดงวิธีทำให้สองโฟลเดอร์ (และโฟลเดอร์ทั้งหมดอยู่ภายใน) ซิงค์กัน ดังนั้นโฟลเดอร์หนึ่งจึงเป็นสำเนาโดยตรงของอีกโฟลเดอร์หนึ่ง เหมาะอย่างยิ่งสำหรับการสำรองข้อมูลงานทั้งในเครื่อง เซิร์ฟเวอร์คลาวด์/เครือข่าย หรือไดรฟ์ USB ไม่มีประสบการณ์ในการเขียนโปรแกรมไม่เ
เกม Python Tic Tac Toe: 4 ขั้นตอน
เกม Python Tic Tac Toe: เกม python tic tac toe เกมนี้สร้างขึ้นใน python ซึ่งเป็นภาษาคอมพิวเตอร์ ฉันได้ใช้โปรแกรมแก้ไข python ชื่อ: pycharm คุณยังสามารถใช้โปรแกรมแก้ไขโค้ด python ปกติได้อีกด้วย
ผู้เข้าร่วม Automático Com Python ไม่มี Google Colab: 5 ขั้นตอน
ผู้เข้าร่วม Automático Com Python ไม่มี Google Colab: Olá pessoal! Tudo bem ?Meu nome é Guilherme, Nesse projeto nós vamos aprender como criar um ChatBot usando a Linguagem de programação Python e o Google Colab!Sou aluno da https://orbe.ai/ - Escola de Inteligência Artificial Infinita… และโครงการ
Netcat Fun!: 5 ขั้นตอน
Netcat Fun!: คำแนะนำนี้จะแสดงวิธีสร้างแบ็คดอร์บนคอมพิวเตอร์ด้วย netcat! ฉันจะแสดงให้คุณเห็นสองวิธีในการทำเช่นนี้ ทั้งที่มีและไม่มีแบตช์ไฟล์ที่จะทำให้มันเป็นอัตโนมัติสำหรับคุณ คำแนะนำนี้ถือว่าคุณได้รับอนุญาตรูทแล้ว
สนุกยิ่งขึ้นกับ Netcat!!: 4 ขั้นตอน
สนุกกว่าด้วย Netcat!!: ตอนนี้ ถ้าคุณยังไม่ได้อ่าน Duct tape's guide to Netcat Backdoors ให้อ่านที่นี่ คำแนะนำนี้จะกล่าวถึงคำสั่ง netcat พื้นฐานและวิธีใช้งาน นอกจากนี้ยังใช้คำสั่งแบทช์พื้นฐานอีกด้วย