BLOG

記事数 37
  • プログラミング

【第7回】BSDでデータリンク層にフレームを送信するツールをC言語で作成する

本記事は第6回の記事のBSD版です。OpenBSDを使い、ARPリプライを送信するプログラムを作成します。参考:【第6回】Linuxでデータリンク層にフレームを送信するツールをC言語で作成するイーサネットヘッダーやARPに関する解説は第6回の記事でおこなっていますので、本記事ではB

  • プログラミング

【第6回】Linuxでデータリンク層にフレームを送信するツールをC言語で作成する

第5回でおこなったデータリンク層の読み出しに続き、今回は書き出し(送信)を行います。送信は非常に簡単なのですが、今回の内容は悪用するとLANで被害が出ますので注意してください。なお、本記事ではコードを追うことを容易にするためできるだけ関数化を避けています。またエラー処理も極力省いていますの

  • プログラミング

【第5回】Linuxでデータリンク層の通信を解析するツールをC言語で作成する

今回はデータリンク層で流れるフレームを解析してヘッダー値を表示したいと思います。データリンク層はハードウェアに依存するのですが、本記事ではイーサネットに限定して実装していきたいと思います。イーサネットヘッダー自体は非常にシンプルで見るべきところは大してないため、ARP/RARPヘッダーの解

  • プログラミング

【第4回】TCPヘッダーを設定して送信するツールをC言語で作成する

第4回目はTCPヘッダーを設定して送信するツールをC言語で作成します。第1回・第2回・第3回の続きとなっているので、過去の記事と重複する箇所の解説(IPヘッダーやバイトオーダーなど)は省略します。【第1回】パケットを受信してIPヘッダーを解析したりIPヘッダーを設定して送信したりするツー

  • プログラミング

【第3回】パケットを受信してTCPヘッダーを解析するツールをC言語で作成する

第3回目はTCP通信を解析するツールをC言語で作成します。第1回・第2回の続きとなっているので、過去の記事と重複する箇所の解説(IPヘッダーやバイトオーダーなど)は省略します。【第1回】パケットを受信してIPヘッダーを解析したりIPヘッダーを設定して送信したりするツールをC言語で作成する

  • プログラミング

低レイヤーのネットワークプログラミング時の注意点|LinuxとBSDの違いを考慮する

本記事はライブラリに頼らず自力で低レイヤーのネットワークプログラミングをおこなう場合に注意するべき点をまとめました。Linuxでパケットの送受信をおこなうプログラミング方法は以下の記事で解説しており、本記事は以下の記事の補足となっています。【第1回】パケットを受信してIPヘッダー

  • プログラミング

【第2回】パケットを受信してUDPヘッダーを解析したりUDPヘッダーを設定してUDPパケットを送信するツールをC言語で作成する

本記事は「【第1回】パケットを受信してIPヘッダーを解析したりIPヘッダーを設定して送信したりするツールをC言語で作成する」の続きです。前回はパケットを受信してIPヘッダーの内容を表示したりIPヘッダーを設定してパケットを送信しました。今回はUDPヘッダーの内容を表示したりUDPヘッダーを

  • ネットワーク

IPアドレス・サブネットを計算する方法

ネットワークエンジニアであればIPアドレスからサブネットアドレスをパッと計算できると便利な場面が多々あるでしょう。ルーティングテーブルを見てアドレスの範囲を計算しなければいけない場面もあるはずです。そんな方に向けて、誰でも簡単にサブネット計算を行う方法を解説します。これだけは暗記し