• ベストアンサー

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

特定のIPアドレスのマシンからパケットを受け取った時だけ 自作のソフトウェアを動かしたいのですが,そういうことはできますか?? 具体的にはPC A,Bと2台あって, Aからパケットを投げてBにあるソフトウェアを起動します. このソフトウェアはプライベートネットワーク内にあるストレージにバックアップを取ります. バックアップを取り終わると,シャットダウンします. linuxプログラミングは慣れているのですが, windowsプログラミングはどこを参考にしていいかわかりません. よろしくお願いします.

質問者が選んだベストアンサー

  • ベストアンサー
回答No.1

.netで作成するなら。 ソケットサーバを作成し、それをWindowsサービス、スタートアップ、タスク起動などに設定し、パケット待ちうけに必要なタイミングで起動させてやればできます。 ソケットサーバの作り方はくぐればすぐにでてくると思いますよ。。 「.net ソケットサーバ」などなど・・・。

Oforest
質問者

お礼

回答ありがとうございます! そのキーワードでググってみます!

関連するQ&A

  • グローバルネットワークについて

    プライベートIPアドレスとグローバルIPアドレスについて教えてください。 プライベートアドレスはクラス別に見ると以下の範囲であると思っていました。 クラスA 10.0.0.0~10.255.255.255 クラスB 172.16.0.0~172.31.255.255 クラスC 192.168.0.0~192.168.255.255 しかし、自分で構築したネットワークのIPを見ると 15.148.xx.xxとなっていました。クラスAだと思うのですが 10.xの範囲ではないので、割り当てられているIPアドレスは プライベートアドレスではないのでしょうか? 新たに仮想マシンを追加しても15.148系のIPが割り当てられるので どうなっているのかという疑問がわいています。 これはグローバルIPアドレスを使っているのでしょうか? アドバイスをお願いします。

  • 「Linuxでネットワークドライブ」したい

    Windowsのネットワークドライブのような仕組みはLinuxにはありませんか? 【実現したいこと】 AとBマシンがあり、Aマシンで動かしているシステムのログファイルをBマシンに置きたいと思います。Aマシンにはログファイルを残したくありません。 【Windowsであれば・・・】 AマシンにBマシンの共有フォルダをネットワークドライブとして設定し、そのドライブ以下にログファイルを吐き出すように設定すれば、Aマシンにはファイルの実態は残らずにBマシンにログファイルをおくことが出来ます。 このようなことをLinuxマシンで行いたいのですが、可能でしょうか?ネットワークドライブのような方法でなくても、実現できる方法であれば構いません。 例えばログファイルを1分おきにCronでAマシンからBマシンに送るとか、そういうのはダメです(一時的であれ、Aマシンにファイルが残るので) 一応書いておきますと、AマシンのOSはRedhat9、BマシンのOSはRedhat7.1です。 どうぞよろしくお願いします。

  • ネットワークプログラミングの本を教えてください

    お世話になります。 「ネットワークプログラミング」の良書を教えてください。 よろしくお願いします。 Cを本格的に勉強して1ヶ月で、やっと「独習C」が終わりました。 いまK&Rを読んでいます。アセンブリも勉強中です。 Linux は 自宅で centOS5 と XP を繋いで実験しています。 TCP/IP は解ります。 もっとも興味があるのはセキュリティなので、 いずれサーバサイドJavaをやりたいと思っています。 その前にもう少しみっちりとCをやろうと思いますが、 ゲームには興味がありません。 そこでネットワーク関係でやろうと思っています。 Windows/UNIX に関わらず、読まれて参考になった本をご紹介下さい。

  • ネットワーク機器のハードウェアとソフトウェア

    ネットワーク機器のハードウェアとソフトウェアを学べる学校を東京で探しています。 特定ベンダーのコマンドやTCP/IPを学習したいのではなく、ネットワーク機器そのもののハードウェアとソフトウェアの仕組みを学びたいです。ソフトウェアについてはネットワークプログラミング演習も含まれることが条件です。 このあたりに強い専門学校または大学、かつ社会人なので夜間または土日に受講できる学校を教えて下さい。 よろしくお願いします。

  • ネットワークプログラミングにおいてsendto()ってブロックするの??

    C言語でネットワークプログラミング(ストリーミングのプログラムを作成しました) UDPを使用したプログラミングなのですが、サーバ側でデータを送るのが途中でいったん停止することがあるんです。数秒停止してまた送る。 もしクライアント側で何か処理が止まったときに、 ソケットのsendto(。。。。。)がブロックするのであればそのエラーもなっとくいくのですが。 sendtoってブロックするのでしょうか?? recvfrom()はソケットディスクリプタに応答があるまでブロックするのはわかるのですが・・・。sendtoはお構いなしに送信するんだったと思うのですが。 環境はサーバ、クライアントマシンともにlinux7.2です。

  • グローバルIPとプライベートIPについて

    ソフトウェア開発技術者の平成20年春の問題をやっていて、腑に落ちないところがあります。 質問は二つです。 外出先のクライアントのPCからルータA(外出先からインターネットへつなぐためのもの)を通じて、インターネット経由で自宅のネットワークのルータBにアクセスをして、そこからアドレス変換をすることによりサーバにアクセス要求パケットを送信するという類のものなのですが…。 アクセス経路で、あるネットワーク内に存在するクライアントPCからそのPCをネットへつなぐためのルータにアクセスする時に送信元IPアドレスが「192.168.1.10」とクライアントPCのプライベートアドレスになっていました。   ところが、ルータAから別のネットワークのルータBにつなぐときは、送信元のIPアドレスが「61.xxx.42.94」とグローバルIPアドレスになっていました。 (1) 送信元IPアドレスのプライベートとグローバルIPアドレスが変わってくるのは何が原因なのでしょうか? 自分なりに考えてみると、別のネットワークにパケットを送るときは一旦プライベートアドレスからグローバルIPアドレスに変換する必要があるため。と解釈したのですが、正しかったでしょうか。 また、ホームネットワークのルータBに来て目的のサーバにパケットを送るときに、そのルータBから「そのネットワーク内の目的のサーバ」への送信元IPアドレスがパケットが送られてきたネットーワークのグローバルIPアドレスである「61.xxx.42.94」となっていました。 (2)しかし、ルータBは別のネットワークの中に属するものでありその送信元アドレスがなぜそう表示されるのかわかりません。 これは、目的のサーバからのパケットの応答がある場合に、ルータAからクライアントPCに帰るときも同様で、ルータBが存在する方のグローバルIPアドレスである「202.yyy.63.242」が使われていました。 以上二つです。二つともIPアドレスに関する質問です。よろしくお願いします。

  • 無線LANカード2枚挿し時のUDPクライアントプログラミングについて。

    LinuxのUbuntu8.04を使用しているのですが、現在無線LANカード2枚挿ししている状態で、同じネットワーク内でIPアドレスを設定しています(192.168.0.10と192.168.0.11)。UDPクライアントプログラムでパケットを送信すると、インターフェイスを勝手に選んでしまうので、任意に「こっちの無線LANカードを使う!」という指定をするためにはどのようにプログラミングすればよいでしょうか? お願いします。

  • ネットワーク経由のデータのロード

    マシンAとマシンBがあって、マシンBにOracle DBMSが入っているとします。 Q1:マシンAにあるOracleのローダーをキックして、ネットワーク経由(TCP/IP)でマシンBのOracle DBにデータをロードすることはできるのでしょうか? Q2:できたとした場合、マシンAのローダーでネットワーク経由でマシンBのDBにロードするのと、マシンBにFTP等でデータを転送してマシンBのローダーでDBにロードするのとどちらがよいと思いますか? 可能であれば、一般的に Q3:DBMSのローダーは、ネットワーク経由でロードできるのでしょうか? Q4:できたとした場合、ネットワーク経由とローカルどちらでロードするのがよいのでしょうか? についても教えていただければ幸いです。 SQL Server, DB2等

  • ネットワーク上に存在しないIPアドレスにはUDPパケットが送信できない?

    はじめまして。よろしくお願いします。 Cでソケットプログラミング(WinXP,VC++6.0)を行っています。 やろうとしていることは、 ・UDPパケットを同じネットワークセグメントのIPアドレスに送信する ということです。 プログラムを作成し、本当に送信しているのかどうかをパケット キャプチャソフト(wireshark)を使って確認してみました。 すると、ネットワーク上に存在するIPアドレスにはパケットを送信 しているのですが、存在しないIP(つまり、電源を切っているPC)には パケットを送信していないことがわかりました。 ネットワーク上においてそのIPの存在に関係なく、パケット を送信することは出来ないのでしょうか? よろしくお願いします。

  • ネットワークドライブの設定について

    基本的な事かもしれませんが、お願いします。 A、B、CのPCがあり、同じネットワークLANで繋がっています。AがWindows2003Serverマシン、B・Cが普通のWindows2000です。 Aのマシンに共有フォルダを作り、Bだけがこのフォルダにアクセスできます。 CからはAに一切アクセスできないような設定にして、Aの共有フォルダ内のファイルをCに渡すときは、 BがAの共有フォルダからCの特定フォルダに、目的ファイルを置く形を取ります。 今回、BのPCからAの共有フォルダをネットワークドライブに設定しようとしたのですが、 ネットワークドライブの割り当て⇒ドライブ:Z、フォルダ:\\AのIPアドレス\共有フォルダ名 と設定したところ、 ユーザーIDとPassWordを入力する画面が出てきました。 この画面は、AのPCマシンを立ち上げてログインする時の内容で良いのでしょうか?(例:Administrator/password) 簡単に検索しましたが、通常はこのようにID/PASSを求める画面は出ないようなんですが・・・ ※この時点でCからAへのアクセス制限は、まだ設定していません。 よろしくお願いします。