Skip to content

Latest commit

 

History

99 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

NW-DIY

気軽にネットワーク機能を作ったり改造したり、気軽に色々ためしてみよう。

Do It Yourself でスイッチ, ルータ, ファイヤーウォール, nat を そのまま使ったり改造してみよう。

自分で新しい通信プロトコルや新しい攻撃防御ロジックを作ってみよう。

Description

この NW-DIY は、ネットワーク機能を気軽に試してみるためのライブラリ群です。 「性能を追求しない」「ハード制約なし」「OS制約なし」と割り切ることで、 ハードウェアやカーネルなどの複雑な知識を前提とすることなく、スクリプトを組む 程度の軽い感覚でネットワーク機能を作ったり改造したりすることができます。

このリポジトリは現在、ruby 2.3 で実装しています。 ただし、今後ほかにも様々な言語で使えるようにしたいと考えています。

V.S.

  • pktcap
    • pktcap はパイプやリダイレクトでパケットを処理するので、直感的に分かりやすい
    • パイプやリダイレクトは双方向に流れないので、パケット往復の概念がなく、コネクション管理できない

Requirement

必要なもの 理由
Linux 実在するインターフェースからパケットを送受信するのに必要
(libpcap) (Windows からパケット送受信するために使いたい)
ruby コマンドやライブラリは ruby で記述しています

Usage

各フォルダそれぞれ下記の用途になっています。 詳細については、各フォルダの README.md をご参照ください。

  • lib / NW-DIY の本体であるライブラリ群です。
  • util / NW-DIY を利用した簡易的なツール群です。
  • demo / プレゼン等で利用しているデモ動画を動かすためのスクリプト群です。
  • spec / rspec 用のテストスクリプト群です。

ライブラリの使いかたについては、まだうまくドキュメント化できていません。 手始めに util/pinger.rb や util/repeater.rb を参照して、 なんとなくこんなもんかなというところを掴んでみてください。

License

Copyright (c) 2016-2017 KASHIMA Hiroaki kashima@jp.fujitsu.com 本ツールは Apache License 2.0 ライセンスで公開します。 著作権については ./LICENSE もご確認ください

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

1 watching

Forks

Releases

Packages

Contributors

Languages