Linux
下記を読んで自分もハニーポットを植えてみたいと思いました。 tk-secu.hateblo.jp どうせなら色々なハニーポット試したいし、攻撃の様子もいい感じに可視化したい。 だったらT-Potを植えればいいじゃない!ということで環境を構築してみました。 環境構成 T…
やりたいこと HLS(HTTP Live Streaming) 実施例 事前準備 WEBサーバの設定 HLS開始 実行結果 その他の方法 リンク やりたいこと こんな感じでブラウザから外部のPC(Linux)のモニターに表示している内容をできる限りリアルタイムで表示したい。 HLS(HTTP Live…
やりたいこと 自分は端末Aでログインしている状態。 端末Aから別の端末である端末Bのコマンドの入力、応答をのぞき見たい。 できればC言語で実装したい 実現方法 ググってみたところ、perl製のttylogを使ったり、shellスクリプトで頑張ればできるようです。 …
Pythonのサンプルコードです。 ネットワーク系が中心となります。 書かなくなるとすぐ忘れてしまうので備忘録として残しておきます。 全てクラアント-サーバの通信のサンプルです。 TCP UDP UNIXドメイン(DATAGRAM型) UNIXドメイン(STREAM型) TCP(selectで待…
ViewVC: Repository Browsingを使ってLinux(CentOS7)上に構築したリポジトリをブラウザから参照可能にしてみます。 これで、Linuxが使えないポンコツな上司から修正内容を問われても、URLをコピペしてメールするだけで済むようになります(?) Git環境向けは…
Virutalbox上でLinuxを動かす際に起動ログやカーネルパニック時の画面ログを取りたい時があります。 調べると仮想シリアルポートを組み合わせることでVritualbox上の仮想マシンとシリアル接続が可能らしい。 イメージはこんな感じ。 ということで早速やって…
Linuxのpacketソケットを使って受信フレームの内容を表示してみます。 今回はEther + IPv4 + TCPで受信したフレームの各ヘッダ情報を表示するアプリケーションを作ります。Linux, C言語です。 packetソケットについての詳しい説明はMan page of PACKETとかを…
Linuxのnamaspace(名前空間)で遊んでみます。 Dockerとかコンテナを実現する技術で使われるアレですね。 お遊び内容 各種設定 疎通確認 参考 お遊び内容 まず、下図のネットワーク構成を作ります。 ・eth1,eth2は内部ネットワーク ・vlan100,vlan200はVLANタ…
procインタフェースを利用してユーザランドのアプリケーションとカーネルでデータをやりとりするサンプルです。 具体的には下記のようにechoでリダイレクトした文字列をカーネルで受信して、catで覗くとリダイレクトした文字列が表示されるような簡単なカー…
さくらVPSでBitZenyのプールマイニングに挑戦してみます。まずはお試し1週間です。 はじめに 全体の流れ walletの作成 マイナープールにアカウント作成 ワーカの作成 マイナーソフトの導入と実行 結果 参考 はじめに これまで、さくらVPSの空きリソースを使…
今回はLinuxのカーネルモジュール(例えばデバイスドライバ)のプログラミングにトライします。 まず今回はHello World的プログラムを作り、次回は/procファイルシステムへのアクセスなど色々試して遊んでみたいと思います。 環境はLinux(CentOS 7)(64bit)です…
最近は仮想通貨の取引所が公開しているAPIを使い販売レートを取得したりビットコインを購入したり出来ることを知り色々遊んでいました。 ふと、日経平均株価(N225)とか他の経済情報を収集してデータを分析できたら面白いのでは?と思ったので情報を取得する…
C/C++のプログラマーなら一度は悩ませられるであろうメモリ関連のバグ。その内の1つであるメモリ破壊は作りこむのは簡単ですが、後々見つける事が難しくなる場合も多くやっかいな奴です。 今回はそんなメモリ破壊検出の助けとなるツールをいくつか試してみ…
gdbを使ってLinux上で既に動作しているアプリケーションをattachしてデバッグしてみる。 今回は例としてsnmpdをほんの少しだけ解析します。環境はLinux(CentOS7)です。 gdbのインストール SNMPエージェントのビルド シンボルの抽出と削除 SNMPエージェント起…
普段からネットワークを扱う人にとってはお馴染みのTCPという技術。 ネットワークを学ぼうとするビギナーが最初に教わるであろう基礎的で重要なプロトコルですが、ずっとTCPヘッダにあるURGフラグ(緊急フラグ)とUrgenポインタ(緊急ポインタ)の使いどころが疑…
前回、さくらVPS+nginx環境にSSL証明書を導入してHTTPSによる通信ができるようになりました。今回はownCloudを導入して自分専用のファイルサーバを構築していきます。 www.segmentation-fault.xyz はじめに ownCloudの導入 概要 事前準備 ownCloudのダウンロ…
さくらVPSにnginx + wordpressの環境を構築してちょこちょこ遊んでおります。近いうちにHTTPSで接続できるようにもしたいなぁと思ってたのですが、手つかずのまま大分時間が経過してしまいました。 www.segmentation-fault.xyz 今回はSSL証明書を導入してHTT…
以前から気になっていたサーバー監視サービスのMackerel(マカレル)を使ってCentOS7(さくらVPS)を監視してみました。 はじめに 登録~監視まで サインアップ オーガニゼーションの作成 エージェントのインストール サービス、ロールの作成 グラフの表示 まと…
最近はC言語ばっかりでしたが、今後もソフトウェア屋をやるのであればPythonかRubyは慣れておきたいところ。Pythonを新たに始めるならPython3一択らしい(Python2は必要になったら調べれば事足りるため)。個人的に新しい言語を覚えるときは短いサンプルコード…
GoogleさんがLinuxに実装したTCPの輻輳制御モジュールでTCP通信がどのくらい高速化されるのか試してみる。環境はVirtualBox上にインストールしたCentOS7(64bit)。具体的にはVMを2つ作成しiperfを使ってVM間のTCP通信性能がどのくらい変わるのか見てみる。 BB…
プライベートMIBで監視するためのサブエージェントをNet-SNMPをベースに作成してみた。 作成&実行環境はLinux-CentOS7(64bit)、言語はC。 はじめに Net-SNMPのインストール ソースコードのダウンロード configure / make / make install コンフィグ(snmpd.c…
Wordpressは今までApache + mysql + phpの構成で構築してたけど、NginxとRedisを使ってみたかったで試してみた。下記を参考にさせていただいた。qiita.comwww.jeedo.net 構築環境は下記(さくらVPSの1Gプラン) ・CentOS7 (64bit) ・RAM 1G ・仮想コア 2コア (…
お勉強用にさくらVPSを利用しているが、平日の日中と夜間はリソースの使用率が低く余っており、このアイドルタイムで何か出来ないと探っていたところMinerGateのマイニングソフトで仮想通貨の採掘が可能そうなので試してみた。実行環境はCentOS 7, 仮想2コア…
LinuxでNETLINKを使ったネットワークインタフェースの状態変化(up/down, IPアドレスの追加/削除)を検知してみる。NETLINKはネットワークインタフェースの状態変化をカーネルからユーザランドのアプリケーションに対してソケットインタフェース経由で通知して…
Windows7でVirtualBox上にLinux Mintの環境(sshでログインできるまで)を構築する。 用途はRaspberry-pi用のソフトウェア開発環境。[材料] ・Windows7-32bit ・Linux Mint 18.1(Mate 32bit) ・VirtualBox ・Teraterm (ssh接続用) 事前準備 イメージァイル(iso…
手持ちのノートPCであるASUS x205TAでLinux-Mint(インストール用のライブ版)をUSB-Bootしてみる。[材料] ・ASUS x205TA ・USBメモリ(BUFFALO 16GB) ・Linux-Mint(18.1-mate-32bit)[注意点] ・従来BIOSではなくUEFI(詳しくは勉強中)環境 ・CPUが32bitであるこ…
プロキシ環境下にあるLinuxでyum, wget, curl, gitコマンドを使うときの設定。 yum $ sudo vi /etc/yum.conf proxy=http://<server>:8080 proxy_username=<user> proxy_password=<pass> wget $ vi ~/.wgetrc http_proxy=http://<server>:8080 https_proxy=http://<server>:8080 ftp_proxy="ftp://<server></server></server></server></pass></user></server>…
gdbでデバッグ時に、対象のプログラムが内部で持っている絶対秒(Unix時間)を 日付に変換して表示する方法。バグ等でcoreファイルから原因を調査する際に欲しくなったので作ってみた。 具体的には~/.gdbinitにユーザ定義のコマンドを作って実現する。#普通にg…
socatを使ってUNIXドメイン通信を中継し通信内容をのぞいてみる。 構成のイメージは下記。 -------------------------------------------------- ________ ________ ________ | | | | | | | Client |--->| socat |--->| Sever | |________| |________| |____…
Ncurses(*1)を使ってスクリーン制御してみる。(*1) CUIでスクリーン、キー入力、カーソルなどの制御機能を提供するライブラリのこと。 make menuconfig とか実行すると出てくるアレを実現できる。 ソースコード sample.c #include <curses.h> #include <stdlib.h> #define ESCAPE</stdlib.h></curses.h>…