2013-12-13 4 views
3

나는 파이썬어떻게 파이썬으로 패킷을 보내나요?

data= "University of texas at San Antonio" 
a=IP(dst="129.132.2.21")/TCP()/Raw(load=data) 
sendp(a) 

에 scapy를 사용하여 패킷을 전송하기 위해이 코드 조각을 시도하지만 "sendp (a)는"

Traceback (most recent call last): 
    File "<pyshell#7>", line 1, in <module> 
    sendp(a) 
    File "C:\Python25\lib\site-packages\scapy\sendrecv.py", line 259, in sendp 
    __gen_send(conf.L2socket(iface=iface, *args, **kargs), x, inter=inter, loop=loop, 
    count=count, verbose=verbose, realtime=realtime) 
    File "C:\Python25\lib\site-packages\scapy\arch\pcapdnet.py", line 313, in __init__ 
    self.outs = dnet.eth(iface) 
    File "dnet.pyx", line 112, in dnet.eth.__init__ 
    OSError: No such file or directory 

저 곳 알려주세요 말 세 번째 줄에 오류가있어 내가 잘못.

+0

? 완전한 코드 및 완전한 오류 추적을 포함하십시오. –

+0

질문을 편집하고 오류/추적을 추가하십시오. – Evert

+2

'scapy'가 올바르게 설치되지 않았습니다 :'dnet.pyx'를 찾았습니다. 찾을 수 없습니다. dnet을 설치해야한다고 생각합니다. – Evert

답변

1

sendp()IP 패킷과 함께 직접 사용하고 있는데 이는 잘못된 것입니다.

sendp(Ether()/IP()/...) 또는 send(IP()/...)을 사용하십시오.

그런데 Scapy가 strRaw으로 처리하므로 Raw(load=...)을 추가 할 필요가 없습니다.

그래서이 시도 : 당신이지고 어떤 오류

data = "University of texas at San Antonio" 
a = IP(dst="129.132.2.21")/TCP()/data 
send(a) 
관련 문제