2017-08-03 7 views
3

私はNet :: RawIPを使って特定のTCPフラグを持つパケットを送信しています。 CWRフラグを設定する方法はありますか? TCPのprotokey "RES2は、" ECEフラグを設定しますが、 "RES1は、" NSフラグを設定しているようだ:Perl RawIP CWRフラグ

$n = Net::RawIP->new({ 
ip => { 
     saddr => 'my.target.lan', 
     daddr => 'my.target.lan', 
     }, 
tcp => { 
     source => 123, 
     dest => 123, 
     res1 => 1, 
     res2 => 1, 
     fin => 1, 
     syn => 1 
     } 
}); 

はここで、パケットのフラグのWiresharkのキャプチャです:

Wireshark capture of the packet's flags

+0

「ウィンドウ」ではないでしょうか? ( "* ARGPROTOがtcpの場合、PROTOKEYは(source、dest、seq、ack_seq、doff、res1、res2、urg、ack、psh、rst、syn、fin、window、check、urg_ptr、data) ) – ikegami

+0

いいえ、 'window'はウィンドウサイズの値を設定します。 – Flip

答えて

1

res2は2ですビット幅。

res2 => 1 # ECE 
res2 => 2 # CWR 
res2 => 3 # ECE & CWR 

(それはビッグエンディアンのマシン上では逆かもしれないが、私はそれを疑う。)

res1は、Wiresharkのキャプチャで「予約」と「ナンス」としてラベル4ビットです。)