• ベストアンサー

ネットワークプログラミングについて

TCP/IPのプログラミングについて教えてください。 UDPの特定ポートを使用中の状態にする(Listening)にするサービスを作成したいと思っております。 なぜこのような事をしたいかと言いますと・・・。 あるソフトを使用するのに、特定のUDPポートが空いていると使用できないのです。そのポートを他のソフトまたはサービスで使用していると、他の空いているポート「49152」を使用しにいき、うまく使えるようになります。特定のUDPポートを使用できないようにできればいいのですが、そのような方法も分らないので、簡単なサービスを作れればと思っております。 ご存知の方おられましたら、よろしくお願いいたします。

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

  • ベストアンサー
  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.2

http://dondie.de/dbdats/tools/NC.EXE 上記ツール(Windows版)をダウンロードして適当なフォルダに置き,次のようにコマンド入力(使用中にしたいUDPポート番号が162の場合)。オプションの意味は nc -h で調べてください。 nc -l -p 162 -u

heposuke
質問者

お礼

すみません。初歩的なミスでした。 自己解決できました。 ありがとうございました。

heposuke
質問者

補足

回答、ありがとうございます。 早速試してみたのですが、「NC.EXEは有効なWin32アプリケーションではありません」と言われてしまいます。 対処方法はありますでしょうか。 初心者で申し訳ありません。

その他の回答 (1)

回答No.1

PerlでもPythonでもCでもJavaでも、socket関連の関数群を利用すればそんなに苦労せずに作れますね。 UDPでは socket() して bind() するだけでよいので、あとはプログラムが勝手に終わらないように無限ループ + sleep() とか recvfrom() とか書いておけば良いでしょう。 http://www.ne.jp/asahi/hishidama/home/tech/socket/index.html 具体的な関数名や引数の内容は言語によって違うので割愛しますが、妙な大文字は単なる定数ですのであまり深く考えずに書いてしまってください。 Perlなら http://x68000.q-e-d.net/~68user/net/udp-2.html のようになります。上の方に use Socket; を記述する必要はありますが、bindする部分は二行で済みます。

参考URL:
http://www.ne.jp/asahi/hishidama/home/tech/socket/index.html
heposuke
質問者

お礼

ありがとうございます。 自分もPerlがいいんじゃないかと、何の根拠も無しに思っていたので、覚悟が決まりました。 ご教示のURLを参考に頑張ってみます。 ありがとうございました。

関連するQ&A

  • 通信ポートのリストの見方を教えてください

    WinXP(sp2)を使用しています。 このPCで開いている通信ポートを netstat -anコマンドで調べましたら 下記のリストが表示されました。 見方がわからないので、ポートの解説してあるサイトがあれば紹介してください。 0.0.0.0:**** や 127.0.0.1:**** のポートがなぜあるのかわかりません。 (***.***.***.*** はこのPCのIPアドレスです) >netstat -an Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:7 0.0.0.0:0 LISTENING TCP 0.0.0.0:9 0.0.0.0:0 LISTENING TCP 0.0.0.0:13 0.0.0.0:0 LISTENING TCP 0.0.0.0:17 0.0.0.0:0 LISTENING TCP 0.0.0.0:19 0.0.0.0:0 LISTENING TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 0.0.0.0:6515 0.0.0.0:0 LISTENING TCP 127.0.0.1:1026 0.0.0.0:0 LISTENING TCP 127.0.0.1:1120 127.0.0.1:1121 ESTABLISHED TCP 127.0.0.1:1121 127.0.0.1:1120 ESTABLISHED TCP 127.0.0.1:1122 127.0.0.1:1123 ESTABLISHED TCP 127.0.0.1:1123 127.0.0.1:1122 ESTABLISHED TCP ***.***.***.***:139 0.0.0.0:0 LISTENING TCP ***.***.***.***:1119 ***.***.***.17:3128 CLOSE_WAIT UDP 0.0.0.0:7 *:* UDP 0.0.0.0:9 *:* UDP 0.0.0.0:13 *:* UDP 0.0.0.0:17 *:* UDP 0.0.0.0:19 *:* UDP 0.0.0.0:445 *:* UDP 0.0.0.0:500 *:* UDP 0.0.0.0:1039 *:* UDP 0.0.0.0:1075 *:* UDP 0.0.0.0:4500 *:* UDP 0.0.0.0:6514 *:* UDP 0.0.0.0:6515 *:* UDP 0.0.0.0:6516 *:* UDP 0.0.0.0:12352 *:* UDP 127.0.0.1:123 *:* UDP 127.0.0.1:1036 *:* UDP 127.0.0.1:1900 *:* UDP ***.***.***.***:123 *:* UDP ***.***.***.***:137 *:* UDP ***.***.***.***:138 *:* UDP ***.***.***.***:520 *:* UDP ***.***.***.***:1900 *:*

  • netstatをしてみたら身に覚えのないLISTENINGが

    はじめまして。 さっそくですけど、質問いたします。 パソコンが不安定になったので、 netstatをしてみたら身に覚えのないLISTENINGが3つありました。 全く何も起動してない状態で、です。ウイルスでしょうか? どなたか教えてください。 パソコンはWinXP ファイヤーウォールはjeticoです。 ログを載せますね。 Proto Local Address Foreign Address State TCP Computer:epmap Computer:0 LISTENING TCP Computer:1026 Computer:0 LISTENING TCP Computer:netbios-ssn Computer:0 LISTENING UDP Computer:1025 *:* UDP Computer:1066 *:* UDP Computer:ntp *:* UDP Computer:1368 *:* UDP Computer:1900 *:* UDP Computer:ntp *:* UDP Computer:netbios-ns *:* UDP Computer:netbios-dgm *:* UDP Computer:1900 *:* それと別のソフトで見た結果です。IPは0.0.0.0だったので省略。 ローカルポート リモートポート 状態 135      36941   LISTENING 139       61653 LISTENING 1026        26979 LISTENING 宜しくお願いします。

  • ウィルス感染チェックのための netstat の見方について

    ウィルス感染しているかどうかのチェック方法に「netstat -ano」で Local Address に 80、8000、8080 のポートが開いているかどうかを 確認するというものがあります。 実際に実行してみたところ、下記のようになりました。 Proto LocalAddress   ForeignAddress  State   PID TCP  0.0.0.0:135    0.0.0.0:0    LISTENING 948 TCP  0.0.0.0:445    0.0.0.0:0    LISTENING 4 TCP  127.0.0.1:1025  0.0.0.0:0    LISTENING 384 TCP  127.0.0.1:8080  0.0.0.0:0    LISTENING 3120 TCP  127.0.0.1:19597  0.0.0.0:0    LISTENING 3120 UDP  0.0.0.0:445    *:*             4 UDP  0.0.0.0:500    *:*             676 UDP  0.0.0.0:1030   *:*             1112 UDP  0.0.0.0:1281   *:*             1112 UDP  0.0.0.0:1282   *:*             1112 UDP  0.0.0.0:2187   *:*             1112 UDP  0.0.0.0:4500   *:*             676 UDP  0.0.0.0:4961   *:*             1112 UDP  127.0.0.1:123   *:*             1040 UDP  192.168.0.2:1900 *:*             1168 UDP  127.0.0.1:1900  *:*             1168 UDP  127.0.0.1:3057  *:*             2076 UDP  192.168.0.2:123  *:*             1040 当方、80 や 8080 ポートを使うようなアプリケーション(サーバー)は 使用しておりませんが、Localアドレスに「127.0.0.1:8080」というのが あります。 これはウィルス感染を疑ったほうが良いのでしょうか。 なお、ウィルス対策プログラムでも、インターネットスキャンでも、 ウィルスは検知されておりません。 以上、よろしくご教示の程、お願い申し上げます。

  • UDPのソケットプログラミング

    ソケットプログラミングでの質問です. 初心者です. UDPクライアントで sock = socket(PF_INET,SOCK_DGRAM,0) でUDPソケットを生成した後に bind()なしで,UDPサーバ宛にsendto() を行った場合, サーバのrecvfrom()でクライアントの IPアドレスとポート番号が受け取ることができると思いますが ここでのIPアドレスはクライアントのアドレスで, ポート番号は他のクライアントの他ソケットが使用していないポート番号 が受け取ることができると考えてよろしいですか? クライアントのsendto()で自動的にポート番号が割り当てられるが, クライアントが,どのポートから送信したのかを知る方法はないですか?

  • これらの通信で気になる部分はありますか。

    >netstat -an Active Connections Proto Local Address Foreign Address State TCP 0.0.0.0:135 0.0.0.0:0 LISTENING TCP 0.0.0.0:445 0.0.0.0:0 LISTENING TCP 127.0.0.1:2559 0.0.0.0:0 LISTENING TCP 127.0.0.1:5152 0.0.0.0:0 LISTENING TCP 127.0.0.1:30606 0.0.0.0:0 LISTENING TCP 自分のDhcp割当てIP:1038 91.228.165.44:80 TIME_WAIT TCP 自分のDhcp割当てIP:1039 91.228.166.16:80 TIME_WAIT TCP [::]:135 [::]:0 LISTENING 0 TCP [::1]:30606 [::]:0 LISTENING 0 UDP 0.0.0.0:445 *:* UDP 127.0.0.1:123 *:* UDP 127.0.0.1:45301 *:* UDP 127.0.0.1:48000 *:* UDP 127.0.0.1:48001 *:* UDP 自分のDhcp割り当てIP:123 *:* 先ほどNetBiosをきってWINSも無効にして、445をSMBDeviceEnabled:0にして再起動しました。

  • YahooADSLで、TCPポート・UDPポートを開放する設定方法

    YahooADSLで、特定のTCPポート・UDPポートを開放する設定方法を教えてくださいm(__)m また、ローカルIPとは何のことでしょうか?

  • windowsXP ファイヤーウォールのポート開放について

    windowsXP ファイヤーウォールのポート開放について http://okwave.jp/qa/q6138225.html PC:XP SP3 回線:NTT西日本 光プレミアム 接続:CTUから有線接続 こちらの方でも質問したのですが、以前に使っていたプロバイダだとTCP、UDP共に開放出来たのに、今回TOPPAにしてから開放出来なくなりました。 http://anisong.dip.jp/port-chk/port-menu.pl こちらのサイトでポート開放を確認するとFILTERED or LISTENINGになります。 そこで、一つずつ確認するために、CTUのファイヤーウォールをきったり、セキュリティソフトを切ってもダメでしたが、windowsファイヤーウォールの機能を切ると前進がありました。 先ほどまでFILTERED or LISTENINGだったものが、NOT LISTENINGになりました。 これはポート開放出来ているが、ソフトが使われて居ないと言うものでしたので、再度ソフトを起動してから確認すると、またFILTERED or LISTENINGになってしまいます。 CTUでUDPポートを4つほど開放する設定をして同様にすると、なぜかソフトに設定しているUDPポートだけがFILTERED or LISTENINGになり、それ以外の開放したUDPポートがNOT LISTENINGになります。 ソフトのUDPポートを、他の開放してるUDPポートに変更すると、変更設定したUDPポートだけがFILTERED or LISTENINGになります。 こんなに都合よく、ソフトに設定したポートだけがポート開放出来ないというのはどのような原因が考えられますでしょうか? 1.ソフトは何度も再起動をさせて確認している。 2.ソフトを起動した状態でポート開放をしている。 3.ファイヤーウォールを起動した状態でポートを指定して開放してみてもダメ 4.TCPポートは問題なく開放出来ている。 5.繰り返しますが、この設定で以前のISPでは開放出来ていた。ローカルIPも固定している。 どうか御助言願います。

  • YahooBBのモデムで、特定のTCPポート・UDPポートを開放する設定方法

    YahooADSLで、特定のTCPポート・UDPポートを開放する設定方法を教えてくださいm(__)m また、ローカルIPとは何のことでしょうか?

  • 「0.0.0.0」や「127.0.0.1」の意味?

    IEのブラウザを起動している最中にnetstat -naで、どのポート開いているのかを調べてみると  TCP 192.168.0.3:2597  ×.×.×.×:80 ESTABLISHED   という様な表示の他に TCP 0.0.0.0:2597    0.0.0.0:0   LISTENING TCP 0.0.0.0:2598    0.0.0.0:0   LISTENING TCP 0.0.0.0:2600    0.0.0.0:0   LISTENING TCP 0.0.0.0:2602    0.0.0.0:0   LISTENING TCP 127.0.0.1:2470    0.0.0.0:0   LISTENING UDP 127.0.0.1:2470 *:*   というような表示が常に出てきます。 IEを起動していないときに同じように調べると、ポートは何一つ開いていません。 自分のPCにはウィルスソフトをいれてません。 なので、やはり何かしらのウィルスに感染していると考えたほうが良いのでしょうか? それとも、「0.0.0.0」や「127.0.0.1」といった表示はIEを起動させれば常に出てくるものなんでしょうか? 「0.0.0.0」と「127.0.0.1」はどういう意味なんでしょうか?

  • ネットワークドライブの割り当てができない

    YahooBBのモデムで無線LAN接続している状態です。 モデムの方で1-61000ポートのTCPとUDPを通すようにしました。(ポート転送) クライアント(WindowsXP)側のコントロールパネルのネットワーク接続にあるインターネット接続のプロパティの設定では445/udp、445/tcp、139/tcp、139/udp、138/udp、137/udpがコンピュータ名:192.168.3.2で登録されています。 ネットワークドライブの割り当てを何度してもIDとパスワードを求められてしまいます。 他のPC(OCN)では接続できるのですが・・・

専門家に質問してみよう