Я палил с рубиновыми сокетами, поэтому в итоге я попытался поместить IP-пакет togather, после чего я взял ip-пакет и попытался создать новый такой же, как он.Создать двоичные данные с помощью Ruby?
сейчас моя проблема: если пакет равен: 45 00 00 54 00 00 40 00 40 01 06 e0 7f 00 00 01 7f 00 00 01
, и это, очевидно, шестнадцатеричный, то Wireshark
показывает мне очень странное другое дело от того, что я создал, я делаю что-то неправильно ???, я знаю, но не могу понять:
@packet = 0x4500005400004000400106e07f0000017f000001 #i converted each 32 bits together, not like i wrote
@data = ""
@data << @packet.to_s
@socket.send(@data.unpack(c*).to_s,@address)
и есть другой способ, чтобы решить все дело, могу ли я, например, написать непосредственно в буфере сокета данные, которые я хочу отправить?
благодарит заранее.
"Вы не можете напрямую отправить IP-пакеты" ??? ru sure ??, и я говорил о заголовках, когда я сказал Wireshark, я также сказал, что я пытаюсь создать пакет, так что это не данные, о которых мы говорим, это заголовок, который я пытаясь создать. если у вас это неправильно, то извините за то, что не очень хорошо объясняли. – Raafat