【问题标题】:scapy kamene sending SYN packetscapy kamene 发送 SYN 数据包
【发布时间】:2020-03-24 00:11:09
【问题描述】:

我尝试使用以下代码将 TCP SYN 数据包从远程 IP 地址发送到我的本地 IP 地址。

from kamene.all import *
print("Send SYN from remote to local")
ip=IP(src=remote_ip,dst=local_ip,frag=0,tos=0x0)
tcp=TCP(sport=remote_port,dport=local_port, flags="S", seq=1111)
SYN_pkt = ip/tcp
SYNACK_pkt = srp(SYN_pkt,verbose=0)
ls(SYNACK_pkt) 

但是代码给出了以下错误。

Send SYN from remote to local
WARNING: DNS RR prematured end (ofs=16116, len=26)
WARNING:kamene.runtime:DNS RR prematured end (ofs=16116, len=26)
WARNING: wrong value: DNS.ancount=51411
WARNING:kamene.runtime:wrong value: DNS.ancount=51411
WARNING: wrong value: DNS.nscount=41893
WARNING:kamene.runtime:wrong value: DNS.nscount=41893
WARNING: more wrong value: DNS.arcount=778
WARNING:kamene.runtime:more wrong value: DNS.arcount=778
Not a packet class. Type 'ls()' to list packet classes.

如果我将 srp() 更改为 sr1() 以发送/接收数据包,则会出现以下错误。

Send SYN from remote to local
WARNING: Mac address to reach destination not found. Using broadcast.
WARNING:kamene.runtime:Mac address to reach destination not found. Using broadcast.
WARNING: DNS RR prematured end (ofs=16116, len=26)
WARNING:kamene.runtime:DNS RR prematured end(ofs=16116, len=26)
WARNING: wrong value: DNS.ancount=51411
WARNING:kamene.runtime:wrong value: DNS.ancount=51411
WARNING: wrong value: DNS.nscount=41893
WARNING:kamene.runtime:wrong value: DNS.nscount=41893
WARNING: more wrong value: DNS.arcount=778
WARNING:kamene.runtime:more wrong value: DNS.arcount=778

【问题讨论】:

    标签: tcp send scapy packet syn


    【解决方案1】:

    DNS RR prematured 是 Scapy 的一个 DNS 错误。

    它是was fixed ages ago,但是因为你使用的是kamene而不是Scapy,所以你还是会遇到它。

    切换到 Scapy。 见https://stackoverflow.com/a/54578802/5459467

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2018-08-25
      • 1970-01-01
      • 2019-06-29
      • 2021-03-19
      • 1970-01-01
      • 1970-01-01
      • 2013-12-09
      • 2020-08-01
      相关资源
      最近更新 更多