タグ

ブックマーク / blog.amedama.jp (8)

  • Network Namespace 内の Linux Bridge では STP が動作しないらしい - CUBE SUGAR CONTAINER

    どうやら、今のところ Network Namespace 1 内では Linux Bridge の STP (Spanning Tree Protocol) がサポートされていないようだ。 今回は、以下のような実験を通して、それを実際に確かめてみる。 単一の Linux Bridge 内にループを作ってストームを引き起こす Linux Bridge の STP 機能を有効にしてストームが止まるか確かめる 使った環境は次のとおり。 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=20.04 DISTRIB_CODENAME=focal DISTRIB_DESCRIPTION="Ubuntu 20.04.3 LTS" $ uname -rm 5.4.0-91-generic aarch64 $ ip -V ip utility,

    Network Namespace 内の Linux Bridge では STP が動作しないらしい - CUBE SUGAR CONTAINER
    korin
    korin 2023/01/13
  • Python: pipe を使った Infix プログラミング - CUBE SUGAR CONTAINER

    今回紹介する Python の pipe というサードパーティ製のパッケージは、実用性はともかくとして非常に面白い API になっている。 pipe を使ったソースコードを見れば目からウロコが落ちること請け合いだ。 その独特な書き方はインフィックス記法というらしい。 pypi.python.org 使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.11.3 BuildVersion: 15D21 $ python --version Python 2.7.11 インストール まずは pip で pipe をインストールする。 $ pip install pipe 使ってみる ここからは Python の REPL で pipe の動作を試していく。 $ python まずは pipe の提供する API をすべて読

    Python: pipe を使った Infix プログラミング - CUBE SUGAR CONTAINER
    korin
    korin 2020/10/08
  • Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER

    今回はソケットプログラミングについて。 ソケットというのは Unix 系のシステムでネットワークを扱うとしたら、ほぼ必ずといっていいほど使われているもの。 ホスト間の通信やホスト内での IPC など、ネットワークを抽象化したインターフェースになっている。 そんな幅広く使われているソケットだけど、取り扱うときには色々なアーキテクチャパターンが考えられる。 また、比較的低レイヤーな部分なので、効率的に扱うためにはシステムコールなどの、割りと OS レベルに近い知識も必要になってくる。 ここらへんの話は、体系的に語られているドキュメントが少ないし、あっても鈍器のようなだったりする。 そこで、今回はそれらについてざっくりと見ていくことにした。 尚、今回はプログラミング言語として Python を使うけど、何もこれは特定の言語に限った話ではない。 どんな言語を使うにしても、あるいは表面上は抽象化さ

    Python: ソケットプログラミングのアーキテクチャパターン - CUBE SUGAR CONTAINER
    korin
    korin 2019/02/26
  • Linux Bridge でタグ VLAN を使う - CUBE SUGAR CONTAINER

    今回は Linux Bridge (ネットワークブリッジ) でタグ VLAN (IEEE 802.1Q) を使う方法について。 設定が足らなくてだいぶ悩んだのでメモしておく。 使った環境は次の通り。 $ cat /etc/lsb-release DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION="Ubuntu 18.04.1 LTS" $ uname -r 4.15.0-29-generic $ ip -V ip utility, iproute2-ss180129 $ sudo apt-cache show iproute2 | grep -i version Version: 4.15.0-2ubuntu1 下準備 最初に、今回使うパッケージをインストールしておく。 $

    Linux Bridge でタグ VLAN を使う - CUBE SUGAR CONTAINER
  • sqlmap を使って SQL インジェクションの脆弱性を検証する - CUBE SUGAR CONTAINER

    sqlmapSQL インジェクションに特化したオープンソースのペネトレーションテストツール。 これを使うと Web アプリケーションの特定のパラメータに SQL インジェクションの脆弱性があるか否かを確認しやすい。 注意: 外部のサーバに使うことは攻撃となるので絶対にしないように。 今回使った環境は次の通り。 $ sw_vers ProductName: Mac OS X ProductVersion: 10.12.6 BuildVersion: 16G29 $ sqlmap --version 1.1.8#stable $ python --version Python 2.7.10 インストール sqlmap は Homebrew でインストールできる。 $ brew install sqlmap これで sqlmap コマンドが使えるようになる。 $ sqlmap --vers

    sqlmap を使って SQL インジェクションの脆弱性を検証する - CUBE SUGAR CONTAINER
  • Xvfb を使って仮想ディスプレイを作る - CUBE SUGAR CONTAINER

    Xvfb (X virtual framebuffer) は X Window System の仮想ディスプレイを作ることのできるソフトウェア。 これを使うと実際にスクリーンがない状態でも GUI が必要なソフトウェアを使えるようになる。 今回使う環境には CentOS7 を選んだ。 $ cat /etc/redhat-release CentOS Linux release 7.2.1511 (Core) $ uname -r 3.10.0-327.3.1.el7.x86_64 下準備 まずは GUI を必要とするソフトウェアとして Firefox をインストールしておく。 $ sudo yum -y install firefox ipa-{,p}gothic-fonts ipa-{,p}mincho-fonts 次にランレベルを確認しておく。 単なるマルチユーザモードなので、通常であ

    Xvfb を使って仮想ディスプレイを作る - CUBE SUGAR CONTAINER
  • Python: コマンドラインパーサの Click が便利すぎた - CUBE SUGAR CONTAINER

    Python のコマンドラインパーサといえば、標準ライブラリに組み込まれている argparse が基。 蛇足になるけど、バージョン 2.7 以前で使われていた optparse は将来的に廃止予定なので新たに使うことは避けた方が良い。 そして、今回紹介する Python のサードパーティ製コマンドラインパーサ Click は、既存のパッケージと比較すると最小限のコードで美しくコマンドラインインターフェースを実装できるように作られている。 どれくらい楽になるかといえば、もう argparse を使っている場合じゃないな、と思えるレベル。 Welcome to Click — Click Documentation (8.0.x) もくじ もくじ Click をインストールする 基的な使い方 コマンドを定義する オプションを追加する 引数を追加する サブコマンドを作る オプションについて

    Python: コマンドラインパーサの Click が便利すぎた - CUBE SUGAR CONTAINER
  • Python のバージョン毎の違いとその吸収方法について - CUBE SUGAR CONTAINER

    この記事の目指すところ 現在 Python はバージョン 2.x 系と 3.x 系という、一部に互換性のないふたつのメジャーバージョンが併用されている。 その上で、この記事にはふたつの目的がある。 ひとつ目は、2.x 系と 3.x 系の違いについてまとめること。 現状、それぞれのバージョン毎の違いはまとまっているところが少ない。 自分用に、このページだけ見ればひと通り分かる!っていうものがほしかった。 ふたつ目は、2.x 系と 3.x 系の違いを吸収するソースコードの書き方についてまとめること。 こちらも Web 上にナレッジがあまりまとまっていない。 これについては今 python-future というパッケージがアツい。 尚、サポートするバージョンは以下の通り。 2.x 系: 2.6 と 2.7 3.x 系: 3.3 と 3.4 題に入る前に、最近の Python 事情についてまとめ

    Python のバージョン毎の違いとその吸収方法について - CUBE SUGAR CONTAINER
  • 1