2011-07-07 3 views
7

scapy를 사용하여 패킷으로 이미지 또는 문서 (MB)를 데이터로 삽입 할 수 있습니까?패킷에 페이로드 추가

이것은 데이터를 전송 한 것입니다.

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

정말 이걸로 무엇을하려고합니까? 파이썬으로 자신 만의 파일 트리머를 만드시겠습니까? 그렇다면'scapy'보다 훨씬 쉬운 방법이 있습니다. –

답변

10

예, 이와 같이 원시 데이터를 보낼 수 있습니다. 이 예에서 데이터는 ASCII로 인코딩됩니다.

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

그게 효과가 있지만 의도 한대로 작동합니까? TCP 핸드 셰이크가 작동하려면 최소한 두 개의 패킷을 보내야합니까? 수신자가이 페이로드를 단순히 폐기하지 않겠습니까? – b0fh

+1

@ b0fh 맞습니다. 데이터가있는 단일 TCP 패킷을 전송하는 것은 3 방향 핸드 셰이크를 통해 TCP 연결을 설정 한 다음 실제 TCP 스택에서 허용 할 데이터를 전송하는 것과 동일하지 않습니다. 이 대답은 간단히 TCP 헤더 뒤에 데이터를 추가하는 것에 관한 것입니다. – phoenix

관련 문제