Tech Sketch Bucket of Technical Chips by TIS Inc.

Passive OS Fingerprint を node.js から利用してみた。

Pocket

Passive OS Fingerprint

インターネットは広く標準化されているTCP/IPプロトコルで通信をしていますが、インターネット上のすべてのコンピュータが同じ実装を共有しているわけではありません。
そのために、それぞれに実装されたプロトコルスタックの癖や、致命的ではないバグと言うべきような微妙な挙動の差異があります。

本記事はそのプロトコルスタックの癖やバグを解析し自前のデータベースと照合することで、通信相手のOS、ネットワーク環境(NAT/Proxyの有無)、起動時間などを受動的に取得するソフトウェアであるp0fの動作原理の説明およびその動作環境を作成します。

それに加えて、アプリケーションでの利用例としてアクセスしてきたマシンのOSなどの情報を表示するWebアプリケーションをnode.jsを用いて作成します。

node.js+express+PassportでOAuth認証

Pocket

軽めの話題を

毎回割と「濃い目」の記事が多いこのTech-Sketchですが、今回は軽めの内容として、nodejsとそのモジュールであるPassportを利用した他サービスとの認証連携を説明しようと思います。

PassportはConnectやExpressベースのWebアプリケーションに認証の仕組みを組み込むことができるモジュールです。単純なローカルでのユーザ名・パスワードによる認証から、OpenIDやOAuthを利用した認証もカバーしています。それぞれの認証の方式はstrategyとして選択することが可能で、簡単に認証に関する実装を追加することができます。OpenID/OAuthで認証を行う場合のstrategyは、メジャーなサービスに対してのものはnpmでインストールできる形ですでに多数用意されています。

Kinect Hack 映像をNode.jsで擬似ストリーミング・・・まだまだだね(2)

Pocket

みなさん、楽しくKinectをHackしていますか?

Kinect&Node.jsの環境構築をした前回に引き続き、今回は

Kinect → OpenNI → OpenCV → C++Addon → Node.js → websocket → HTML5

とつないでいくソースコードをご紹介します。

出現する言語は、C++とjavascriptとpythonスクリプトです。

前回もお世話になった KINECTセンサープログラミング に、掲載されているソースコードを、かなり参考にさせていただきました。
また矢野直樹(Yano Naoki)
さんのブログ yanoの日記 の記事 C++ による base64 変換 のbase64変換コードを流用させていただきました。
この場を借りてお礼申し上げます。

今回の一連のソースコードにより、以下のような映像がWebsocketクライアントに配信されることになります。


Kinect Hack 映像をNode.jsで擬似ストリーミング・・・まだまだだね(1)

Pocket

みなさん、楽しくKinectをHackしていますか?

公式/非公式なデバイスドライバを手に入れた瞬間から、Kinectは単なるゲームコントローラの枠を越え、「シンプルなAPIを持った3Dカメラ」として利用できるようになります。
世界中のハッカーがこぞってKinectをHackしており、 3D Video Capture with KinectKinectでスーパーヒーローに変身Kinectを使ってブラウザのWebGL内を動いてみた など、秀逸な動画がたくさん公開されています。

しかし身に付けて歩けるほどKinectセンサーは小さくないため、Kinectセンサーは固定PCに接続し据え置かざるを得ません。
Kinectセンサーから得て付加情報を重畳した映像を、その固定PC上で表示するだけでなく、Kinectセンサーのターゲットとなっている人物自身へ何らかの手段で遠隔配信できれば、何か面白いことができるのではないでしょうか。

そこで今回は、最近ハヤリのNode.jsのWebsocketを用い、Kinectセンサーで取得された画像をWifi経由でノートPCへ擬似ストリーミング配信してみたいと思います。

kinect_sample01.pngのサムネイル画像