C/C+– category –
-
sshでログインしている端末の出力をのぞき見る
[rtoc_mokuji title="" title_display="" heading="h3" list_h2_type="" list_h3_type="" display="" frame_design="" animation=""] やりたいこと 自分は端末Aでログインしている状態。端末Aから別の端末である端末Bのコマンドの入力、応答をのぞき見たい... -
packetソケットでキャプチャしてみる
Linuxのpacketソケットを使って受信フレームの内容を表示してみます。 今回はEther + IPv4 + TCPで受信したフレームの各ヘッダ情報を表示するアプリケーションを作ります。Linux, C言語です。 packetソケットについての詳しい説明はMan page of PACKETとか... -
C/C++のメモリ破壊を3種の方法で検出してみる
C/C++のプログラマーなら一度は悩ませられるであろうメモリ関連のバグ。その内の1つであるメモリ破壊は作りこむのは簡単ですが、後々見つける事が難しくなる場合も多くやっかいな奴です。 今回はそんなメモリ破壊検出の助けとなるツールをいくつか試して... -
Net-SNMPのサブエージェントを作ってみる
プライベートMIBで監視するためのサブエージェントをNet-SNMPをベースに作成してみた。作成&実行環境はLinux-CentOS7(64bit)、言語はC。 [rtoc_mokuji title="" title_display="" heading="h3" list_h2_type="" list_h3_type="" display="" frame_design=... -
NETLINKでネットワークインタフェースの状態変化を検知する
LinuxでNETLINKを使ったネットワークインタフェースの状態変化(up/down, IPアドレスの追加/削除)を検知してみる。 NETLINKはネットワークインタフェースの状態変化をカーネルからユーザランドのアプリケーションに対してソケットインタフェース経由で通知... -
Raspberry Pi で Hello World
前回に引き続きラズパイ用の開発環境を構築し実機でHello Worldを表示(シリアル経由)するまでをやってみる。 実機は初期モデルからメモリが2倍の512MBになったVer。最近のラズパイに比べたら装備も性能も劣るけれど個人的にはこっちのシンプルな方が好き。... -
gdbで絶対秒を日付で表示する
gdbでデバッグ時に、対象のプログラムが内部で持っている絶対秒(Unix時間)を日付に変換して表示する方法。 バグ等でcoreファイルから原因を調査する際に欲しくなったので作ってみた。具体的には~/.gdbinitにユーザ定義のコマンドを作って実現する。 #普通... -
XORで暗号化&複合化
最も簡単な暗号化/複合化を試してみる。任意のデータとある定数値の排他的論理和(XOR)を2回とると元のデータに戻る性質を利用する。 例) 任意のデータ : 10101010 XORをとる定数: 11110000 1回目 10101010 XOR 11110000 ------------- 01011010 2回目 0101... -
socatで装置内通信のデータをのぞき見る
socatを使ってUNIXドメイン通信を中継し通信内容をのぞいてみる。 構成のイメージは下記。 -------------------------------------------------- ________ ________ ________ | | | | | | | Client |--->| socat |--->| Sever | |________| |________| |__... -
Ncursesでスクリーン制御
Ncurses(*1)を使ってスクリーン制御してみる。 (*1)CUIでスクリーン、キー入力、カーソルなどの制御機能を提供するライブラリのこと。make menuconfig とか実行すると出てくるアレを実現できる。 ソースコード sample.c #include <curses.h> #include &...