ネットワークプログラミング

タグの編集
投稿者 ごくぷろ  () 投稿日時 2008/7/18 21:54:00
VBでネットワークプログラミングができると 
思いますが、例えば、攻撃してきた相手の 
IPをログに記録したり、また、プロキシのような動作をするプログラム作成は可能でしょうか?
投稿者 葉月  () 投稿日時 2008/7/19 00:22:00
始めまして。 
 
>>>統合セキュリティーソフト開発 
フリーで話題になっているソフトは、無料とは思えない出来栄えのものもあります。 
それでも、市販のソフトには一歩、二歩、及んでいない状況だと個人的に考えています。 
今回は無料と有料ソフトの比較を行うわけではないので、その説明は省きます。 
 
何がいいたいかと言いますと、実用性のあるセキュリティーソフトを自前で作るのは難しいです。 
大きな理由は二つあると考えれえます。 
 
①何をもって攻撃の定義にするかを考えるのが、まず大変です。 
TCPの動きを利用した攻撃だったり、空いているポートを狙った攻撃など、攻撃手段は多義に渡ります。 
実は攻撃するより防御の手段を考える方が、ずっと難しいです。 
 
むしろ、ある程度のプログラミング能力がありセキュリティーやネットワークの知識が普通な人より、プログラミングは素人でもセキュリティーやネットワークには精通した人の方が開発できる可能性が高いと思います。 
それだけ、ネットワークやセキュリティーの知識に依存する代物だと考えてください。 
もちろん、開発するなら素人の方にプログラムの適性がないと厳しいと考えられます。 
 
②もう一つの問題が、セキュリティーソフトは常駐するソフトです。プログラムをいかに軽く出来るかのアルゴリズム性も求められるところです。 
いくら防御できても重かったり、使いづらかったりするソフトは嫌ですよね。 
 
いろいろと批判的な意見ばかり書いてしまいましたが、実用性のあるプログラムは難しくても個人的に遊ぶレベルでもいいと思います。 
 
まずは参考ページのクラスを自分なりに使ってみて、実用性のあるネットワークプログラムを作ってみてはどうでしょうか? 
ネットワークに関してわからない部分を、自分で調べるのも良い勉強になると思います。 
 
>>>参考ページ 
ttp://msdn.microsoft.com/ja-jp/library/system.net.aspx 
※ 先頭のhを省略しています。
投稿者 ごくぷろ  () 投稿日時 2008/7/19 03:27:00
>>1 
明快な回答有り難うございます。VBだけでなく 
ネットワークやセキュリティーの知識が何よりも 
必要なことがわかりました。 
ネットワークに関しては、一時期、勤務している会社でLinuxサーバーのにわか管理者をやったことがあるので概略程度はわかるつもりですが、 
さらに、セキュリティ面も含めて深く学びたいと思っていますが、参考になる図書やサイトなど紹介していただけたら有り難く思います。
投稿者 葉月  () 投稿日時 2008/7/19 04:44:00
私は前職がネットワーク関係でしたので、仕事を通してネットワークの技術を覚えました。 
あまり、参考にならないかも知れませんが有名どころを紹介します。 
 
広く知られている書籍に、マスタリングTCP/IP入門編があります。 
古いマスタリングTCP/IP本が手元にあったので見てみました。 
基本を学ぶにはいい本だと思います。 
内容が難しいかも知れませんので、他のサイトと併用して勉強するのがいいと思います。 
ttp://www5e.biglobe.ne.jp/~aji/3min/index.html 
※ 先頭のhを省略しています。  
 
基本を理解したら、あとは@itで情報を仕入れればいいと思います。 
例えば、セキュリティだとこんなページがあります。 
ttp://www.atmarkit.co.jp/fsecurity/rensai/httpbasic06/httpbasic01.html 
 
@itで探し物ができれば、一通りのことができるようになります。 
もちろん、.NET関係のネットワークツール開発も含まれます。 
 
他にも応用して、以下のことができるようになります。 
WireSharkなどのスニファーを用いて、実際の通信の流れを確認するのも勉強になります。 
WireSharkが使えるようになれば、ガジェット(OSでの正対応はVistaのみ。裏技でXP可)で便利なツールが作れるようになると思います。 
一例を挙げますと、某検索サイトを利用したガジェットが出回っています。
投稿者 学生  () 投稿日時 2008/7/19 16:46:00
>>4 
    *  4.葉月 
    * 投稿日:2008/07/18 19:44 
<<wiresharkが使えるようになると...... 
 
実際に解析はできるのですが具体的にどのように使うんですか? 
 
ゴクプロさん勝手に質問してすみません 
たまたま通りかかって目に付いたので、質問させてもらいました
投稿者 葉月  () 投稿日時 2008/7/20 13:08:00
>>5 
 
具体的な使用法は、使い方によると思います。 
解析ができるなら、あとは作りたいプログラムにどう応用すればいいか考えます。 
 
たとえば辞書を提供するサイトがあったとして、今までは使いやすいUI(ユーザーインターフェース)だったのにリニュアルされて逆に使いづらくなったケースがあったとします。 
元々は英和や和英などの切り替えを行うチェックすればよかったのに、他にも複数の項目が増えてしまいました。 
URLの解析ができれば、ガジェットで自分好みのUIでデスクトップから使うことができます。 
VSはWindowsアプリケーションが簡単に作れるので、ちょっとしたツールとして作るのもいいかも知れません。 
 
やり方は正規表現で分岐して、URLに渡すパラメータをこちらで予め設定することにより実現します。 
詳細やコードは、ガジェットの話ですので省略します。 
それとサイトによっては、WireSharkがなくても解析できます。 
 
もちろん、ネットワークの知識だけで作ることはできません。 
例は簡単な部類ですが、それでも正規表現やエンコードなど複数のプログラムの知識が必要になります。