2011-07-07 8 views
7

Tôi có thể chèn hình ảnh hoặc tài liệu (tính bằng MB) làm dữ liệu trong gói bằng scapy không?Thêm tải trọng trong gói

Đây là những gì tôi đã làm để gửi dữ liệu.

data = "University of texas at San Antonio" 
a = IP(dst="129.132.2.21")/TCP()/data 
send(a) 
+0

Bạn đang thực sự cố gắng làm gì với điều này? Xây dựng streamer tập tin của riêng bạn trong python? Nếu vậy, có nhiều cách dễ dàng hơn để làm điều đó hơn là 'scapy' –

Trả lời

10

Có, bạn có thể gửi dữ liệu thô như thế này. Trong ví dụ này, dữ liệu sẽ được mã hóa ASCII.

>>> data = 'University of Texas at San Antonio' 
>>> a = IP(dst='129.132.2.21')/TCP()/Raw(load=data) 
>>> sendp(a) 
+1

Điều đó có hiệu quả, nhưng nó có làm những gì được dự định không? bạn không cần phải gửi ít nhất hai gói cho bắt tay TCP để làm việc? trọng tải này sẽ không bị người nhận bỏ đi? – b0fh

+1

@ b0fh Bạn chính xác, việc gửi một gói TCP duy nhất với dữ liệu không giống như việc thiết lập kết nối TCP thông qua lắc tay ba chiều và sau đó truyền dữ liệu sẽ được chấp nhận bởi một ngăn xếp TCP thực. Câu trả lời này chỉ đơn giản là về việc thêm dữ liệu sau một tiêu đề TCP. – phoenix