macOS から httpie で APIC-EM へ POST してみる
HTTP のテストを行う際に curl を使うことは出来ますが、httpie を使うと「結果を色分け表示する」「JSON を整形して表示する」等、より人間にとって見やすく結果を表示することが出来ます。
macOS であれば Homebrew で簡単にインストール出来ます。
1 |
|
httpie のコマンドは httpie では無く、http です。 http --help でヘルプを表示出来ます。
HTTP のテストを行う際に curl を使うことは出来ますが、httpie を使うと「結果を色分け表示する」「JSON を整形して表示する」等、より人間にとって見やすく結果を表示することが出来ます。
macOS であれば Homebrew で簡単にインストール出来ます。
1 |
|
httpie のコマンドは httpie では無く、http です。 http --help でヘルプを表示出来ます。
Web のデバッグには Fiddler が非常に便利です。Fiddler は .NET Framework 上で動作するので原理的には Windows 以外の OS でも動作可能です。macOS の場合は Homebrew Cask でインストール可能です。
macOS でも bash-completion を入れると bash の補完が出来るようになります。特に定義ファイルを追加しなくても、ssh の接続先を補完してくれるので、これだけでも便利です (定義ファイルを追加してカスタマイズしていくと更に便利です!)。
Homebrew はインストール済みだとします。bash-completion がインストールされていないと以下のように「Not installed」と表示されます。
複数の OS で検証をしていると、不意に「この OS のルーティング追加コマンドは何だっけ…?」となることがあります、、、ので、OS 毎のルーティング追加方法をメモしておきます。
ショートカットを上手に使うと効率が良くなり、生産性が向上します。Cisco IOS / Linux / OS X で便利なショートカットをメモしておきます。
scapy があれば対話的に、または Python スクリプトから任意のパケットを生成すること (等) が出来ます。OS X への scapy インストール手順をメモしておきます。検証には OS X El Captian (10.11.4) を、インストールには homebrew を使いました (homebrew はインストールされている前提です)。
何か問題が発生した時、Wireshark / tcpdump / tshark 等でパケットをキャプチャし、解析したい場合があります。しかし、OS X 版の Wireshark は通常だとウインドウがひとつしか開かない為、「複数のパケットキャプチャ結果を並べて表示し、比較する」ということが出来ません。こういった場合は以下のコマンドを実行することで Wireshark のウインドウを複数、開くことが出来ます。
1 |
|
これで複数のキャプチャ結果を並べて表示し、比較&解析出来ます。
JSON や XML を整形して表示出来るツールをまとめます。
ターミナル上でウインドウ分割等を行う際は screen や tmux を利用していました。OS X の定番ターミナルソフトである「iTerm2」にもウインドウ分割機能がありますので、機能的には重複していました。しかし、iTerm2 になってから tmux との機能統合が進み、あたかも iTerm2 の機能であるかのように tmux のウインドウ分割機能を利用することが出来るようになりました。このおかげでウインドウ分割機能のみならず、ターミナルのレジューム / サスペンド機能といった tmux の便利な機能を iTerm2 上から透過的に利用することが出来るようになりました。
この機能を利用するのは簡単です。まずは今まで通り、リモートホストに SSH ログインします。
1 |
|
次に、リモートホストのシェル上から -CC オプション付きで tmux を実行します。
1 |
|
すると、OS X の iTerm2 の別ウインドウとして新たにシェルが立ち上がります。もちろん、シェルはリモートホスト上で起動しています。一時的にデタッチするには ESC を押します。
Cisco の VIRL は有償のネットワークシミュレータで、Cisco IOSv や CSR1000v、XRv、Nexus を簡単に検証することが出来ます。通常は $199 の製品ですが、公式サイト右下にある「GET $50 DISCOUNT」をクリックして表示される文字列を購入時に入力すると $149 で購入することが出来ます。VIRL には 3 種類の提供形態があるので、自分に適した形態を購入時に選択する必要があります。
VIRL は「VMMaestro」という専用ツールから操作します。VIRL 内で作成した仮想ルータにコンソール接続する際、初期状態では VMMaestro 内のコンソールウインドウが利用されますが、これではやや不便です。そこで、今回は OS X 環境で VIRL のコンソール接続を(VMMaestro では無く)iTerm2 上で実行する方法を記載します。尚、本記事の元ネタは以下です。下記 URL には OS X だけでなく、Windows での設定例も記載されていますので、英語に不自由しない方は下記をご覧になった方が有効です。