はじめに オライリーでポートスキャナ自作ではじめるペネトレーションテストという本が発売されました。 2章ではScapyを利用して実際にパケットを作成して、nmapのようなポートスキャナ自作します。 パケットのカプセル化などNWの仕組みから丁寧に解説されていてとても良書だと思います。 ただ筆者はPythonよりGolang派なので2章のプログラムをGolangに書き換えてみました。 ※オリジナルはこちら gopacket入門 gopacketはGolangでパケットを読み込んだり作ったりするためのライブラリです。 プログラムを作る前に必要なパッケージをインストールしておきます。 ubuntu 22.04で動作確認をしています。
PythonとRubyは似ているため同じような手順で作成することができます。 細かい説明は以前の記事でまとめたので、今回はソースを書きつつさくっと進めていきたいと思います。 ソケット作成 Pythonでrawsocketを使用する時は以下のように記述します。 # tcpヘッダーを自分で作る def make_socket(): soc = socket.socket(socket.AF_INET,socket.SOCK_RAW,socket.IPPROTO_TCP) return soc これでtcpパケットを自分で修正することができます。 受信はipパケットが対象になります。 ちなみにRubyだとこんな感じです。 def make_socket() soc = Socket::open(Socket::AF_INET,Socket::SOCK_RAW,Socket::IPPROTO_TC
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く