memo.log

技術情報の雑なメモ

2021-03-01から1ヶ月間の記事一覧

【Ruby】String#bのメモ

> pp "\x08\x30".b "\b0" => "\b0" レシーバの方は \x で指定する場合、16進数で指定するので、以下ASCIIコード表の「16進数」が「ASCII」に変換される www.k-cube.co.jp

PacketFuでARPリクエストを送信するサンプルメモ

github.com require 'packetfu' arp_pkt = PacketFu::ARPPacket.new arp_pkt.eth_daddr = "ff:ff:ff:ff:ff:ff" arp_pkt.arp_daddr_mac = "00:00:00:00:00:00" arp_pkt.arp_daddr_ip = "x.x.x.x" arp_pkt.to_w("eth0")

【Ruby】ビッグエンディアン・ネットワークバイトオーダー、サンプルメモ

pack("n") で、ネットワークバイトオーダー(ビッグエンディアン)のunsigned short (16bit 符号なし整数)に変換できる。 ビッグエンディアンなので、バイトの上位から並べていく。 例えば、 0xAABBCCDD だったら、0xDDが低い(1桁目側)側なので逆から、AA, B…

【Ruby】ブロックを引数に取るメソッドを作る参考リンク

Rubyのブロック構文とyieldの使い方 | UX MILK https://uxmilk.jp/24119

【Ruby】複数桁の16進数を10進数に変換する

2FF とかを 767 に変換する。 16進数は文字列リテラルで表現されているものとする。 普通に "2FF" とかだったら hex したらいいけど、 irb(main):089:0> "0x2FF".hex => 767 一文字ずつの16進数がまとまった文字列の場合を想定する。 例えば2FF だったら "\x…