เป็นไปได้ไหมที่จะเปิดพอร์ตเพื่อฟังโดยไม่ต้อง netcat


3

ฉันต้องการระบบ Linux เพื่อฟังพอร์ต TCP และถ่ายโอนข้อมูลที่ได้รับไปยังไฟล์และ / หรือ stdout ระบบไม่ได้ติดตั้ง netcat ฉันมีสิทธิ์ใช้งานรูท แต่ไม่อนุญาตให้เพิ่มแอพพลิเคชั่นใหม่เข้าสู่ระบบด้วยเหตุผลด้านความสอดคล้อง เป็นไปได้หรือไม่ที่จะทำเช่นนี้กับสคริปต์ทุบตี perl หรือ python อย่างง่าย ง่ายกว่าดีกว่า


1
คุณมี tcpdump หรือไม่ tcpdump -vv -x -X -s 1500 -i eth1 'พอร์ต 25' -w /somewhere/dump.txt
cybernard

คำตอบ:


3

วิธีเปิดพอร์ตสุ่มโดยใช้ Python:

import socket
s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.bind((socket.gethostname(), 0))

วิธีค้นหาพอร์ตที่คุณเปิด:

s.getsockname()[1]

วิธีปิดพอร์ต:

s.close()

สำหรับข้อมูลเพิ่มเติมอ่าน เอกสารสำหรับโมดูลซ็อกเก็ต , ซ็อกเก็ตวิธีการ , หรือ สอนการซ็อกเก็ต .

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.