scapyを使ってセキュリティツールで試して、UDPチェックサムにASCII文字をスプーフィングしようとしています。私はそれを行うことができますが、私は16進表記でバイトをハードコードするときだけです。しかし、私はASCII文字列の単語をバイナリ表記に変換することはできません。これは、「彼」(「Hello World」の最初の2文字)のバイトを送信するために動作します: sr1(IP(dst=server)/UDP(dport=53, chksum=0x4865)/DNS(rd=1,qd=DNSQR(qname=query)),verbose=0)
ネットワーク上のUDPチェックサムのスプーフィングバイト
しかし、私はtest2
代わりの0x4865
の変数を使用しようとするたびに、DNSパケットがネットワークを介して送信されていません。これは、このASCIIバイナリを作成する必要があります。
sr1(IP(dst=server)/UDP(dport=53, chksum=test2)/DNS(rd=1,qd=DNSQR(qname=query)),verbose=0)
IはTEST2可変である印刷
test2 = bin(int(binascii.hexlify('He'),16))
正しいバイナリ表記を示します。
He
などの文字列を変換するには、scapyで受け入れたチェックサム表記の表示が0x4865
であるようにします。