You do understand that the
wscale option is only valid on SYN, SYN/ACK packets, right? The tcpdump line you listed did not appear to have the SYN flag set. Also, I have not used Net::RawIP, but the documentation is not very clear to me on optset. For example, It says that the data has to be a string (which perl ought to convert for you, but who knows). Since it gives no examples of usage of this method, you may have to use a little trial-and-error to get it right. If you look
here, there is an example involving optset that implies that it really wants a string containing the binary representation of the option value (ala pack())
fnord
Update: added reference to optset example.