ベストアンサー PHPを利用してtelnet用のプログラムを作成したい。 2007/01/21 07:33 ルータにtelnetしルータポートを開閉をさせるプログラムを作成したい。 もし方法をご存知の方おられましたら、どうぞ宜しくお願い致します。 みんなの回答 (2) 専門家の回答 質問者が選んだベストアンサー ベストアンサー wanna ベストアンサー率33% (1/3) 2007/01/22 22:04 回答No.2 PHPTermというプログラムも紹介されていますよ。参考までに。 http://oss.moongift.jp/intro/i-1492.html 参考URL: http://oss.moongift.jp/intro/i-1492.html 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 その他の回答 (1) yambejp ベストアンサー率51% (3827/7415) 2007/01/21 15:23 回答No.1 ソケット系の関数になるのでしょうか。 かなりデリケートな部分になるので、よーく学習してから 実用するようにしないと致命的な問題につながる可能性が高いです。 参考URL: http://www.php.net/manual/ja/ref.sockets.php 質問者 お礼 2007/01/21 21:19 ご連絡ありがとうござます。プログラム初心者の為、セキュリティ ホールにならないようにしっかり勉強致します。 広告を見て全文表示する ログインすると、全ての回答が全文表示されます。 通報する ありがとう 0 カテゴリ [技術者向] コンピュータープログラミング・開発PHP 関連するQ&A telnet 初心者です。 telnetの参考書を買いました。 Windows2000 で、ファイル名を指定して実行に”telnet”と、打ち込みました。 Microsoft Telnet > と表示されます。 Microsoft Telnet > open 192.168.0.1 と、打っても接続できません。どうしてでしょうか? ルータのIPアドレスが192.168.0.1であることは間違いありません。 ポート番号:23 接続失敗しました。 と、表示されます。 ルーター側でtelnetを受け入れる設定が必要なのでしょうか? 何か間違っていますか? telnetを抜けても、プログラムを実行するには? Linux上で動作するようにプログラミングしたプロセスを、telnetで起動したのですが、telnetを閉じてしまうと起動したプロセスが終了してしまいます。 telnetを抜けてもプロセスが動作し続けるためにはどうしたら良いでしょうか。 なお、プロセスの起動方法は、メインが一つあって、メインから複数のプロセスを起動しています。 また、最終的には、PCのautoexeみたいに自動起動にしたいのですが、やりかたがわかりません。 御存知の方、いましたら宜しく御教示願います。 telnetのサーバーだけが停止できない こんばんは、お世話になっています。 RV-440NEという古いルータを使ってポートの設定をしているのですが、なぜかtelnetだけ停止できません。 PORT STATE SERVICE VERSION 23/tcp open telnet Pocket CMD telnetd ご教示お願いします。 ひとまず私はもう明日が早いので寝ます おやすみなさい。 ネットワークエンジニアとは?技術職の未来を考える OKWAVE コラム linuxマシンからシリアルポートでtelnet接続をしたい ルーターの管理のため、シリアルポート経由でルーターに接続したいのですが、うまくいきません。ご存知の方やり方をご教授おねがいします。 ディストリビューション vine3.2 やってみたこと telnet ttyS0 結果 telnet: ttyS0: Name or service not known ttyS0: Unknown host ホスト名のところは、何を入れればよいのでしょうか。 よろしくお願いします。 TelNetプログラミング 今、Telnetを使ったプログラムを作成中なのですが、ネット上にサンプルになるようなソースっておちていないものなのでしょうか? 検索してみたのですが私が求めているような感じのものが全然見当たらなくて…。 ログインの仕方とかコマンドの投げ方などのサンプルが欲しいのですが、ご存知の方いらっしゃいましたら教えて下さい。 どのAPIを使って実装するのかも検討つきません(涙) 下記のようなものを使って実装するのが一般的なのでしょうか? org.apache.commons.net.telnet.TelnetClient; org.apache.commons.net.telnet.TerminalTypeOptionHandler; org.apache.commons.net.telnet.EchoOptionHandler; org.apache.commons.net.telnet.SuppressGAOptionHandler; org.apache.commons.net.telnet.InvalidTelnetOptionException; お薦めのサイト・著書がありましたら教えていただきたいです。 宜しくお願いします。 telnetがうまくいかない? ネットワークの知識を得ようと、ある本を読んでいるのですが、その中でtelnetについて理解しようということで、「telnet localhost 25」と指定してみよう、とあるのですがVistaだからかどうか分かりませんが、下記のようにでて失敗してしまいます。 Microsoft Telnet> open localhost 25 接続中: localhost...ホストへ接続できませんでした。 ポート番号 25: 接続に失敗しました うまくいく方法はあるでしょうか?一応下記のURLを見て、Telnetクライアントとサーバの設定はしてあります。 http://www.atmarkit.co.jp/fwin2k/win2ktips/960vistelnet/vistelnet.html telnetで25ポートにつなげた場合 telnetで25ポートにつなげた場合にセッションモードで動作していると思うのですが、なぜexitコマンドでセッションを切ることができないのでしょうか? ご存知の方よろしくお願いします。 自動でtelnet お世話になります。 ボタンクリックすると自動でTelnetを起動しコマンドを投げてtelnetを終了する...処理を作っています。 telnet接続からの操作はvbsで作成、 そのvbsをbatfileで起動するようにしました。 古いパソコン環境で動かす(32bit)というので、あえてvc++6.0で作成し正常に、動きました。 それを64bitのWindows2012で動かしたら、vbsの中のtelnetの接続のところでエラーになります。 'telnet'は、内部コマンドまたは外部コマンド、 操作可能なプログラムまたはバッチファイルとして認識されていません と、なります。 telnet clientはinstallしてあり、 コマンドプロンプトでbatファイルをたたくとちゃんと正常に動きます。 batファイルをダブルクリックでも動きます。 コマンドプロンプトでcscript xxx.vbs としても正しく動きます。 プログラムから CreateProcessで、「cmd xxx.bat」としているのですが。。。 どこが間違ってるのか、何がダメなのか判断が付かないのです。 至急アドバイスをいただけないでしょうか。 よろしくお願いいたします。 Linux:PHPでTELNETによるSMTP結果取得について 度々利用させていただいています。 以下質問、ご存知の方がいましたら 是非是非教えてください。 今現在、PHPプログラムにおいて [TELNETを使用したSMTPコマンド発行]プログラムを 作成しています。 そこで一つ解決できない問題が生じてしまいました。 問題: 今現在使用しているコマンド発行関数は「system()」関数です。 引数には('telnet hogehoge.jp 25')としています。 出力結果としては・・・ Trying 127.0.0.1... Connected to helpserve.jp. Escape character is '^]'. と出力されます。 しかし、ターミナルソフトを使用してtelnet hogehoge.jp 25を 実行すると・・・ 220 hogehoge.jp ESMTP Postfix と、実行結果コードが出力されます。 この「220」が出力結果としてほしいのですが どうしても取得出来ません。 色々とその辺の(exec,passthru,shell_exec)関数を試して みたのですがどうしても取得することが出来ませんでした。 そこで、どうすれば取得できるのご存知の方、是非 お知恵を拝借したいと思います。 (すごい推測ですが、もしかして220のコードは TELNETが出力しているから取得できない・・・ そんな気はしています。) 環境: OS:FwdoraCore3 PHP:Ver.5.1.6 なにとぞ、よろしくお願いします。 TELNETプログラミング 今、Telnetを使用しUNIXサーバのシェルを起動づるプログラムを作成中なのですが、インターネットを検索した所、下記に辿りつきました。下記を参考にし作成していましたが、60行目のプロンプト出力待ちで実行中まま61行目に処理が移りません。 全く原因がわかりません。 わかる方がおられましたら宜しくお願い致します。 http://www.visards.co.jp/java/net/net05.html telnetの実験ができません 最近、好奇心から2台のパソコンをルータで繋いで家庭内LANというものを組んでみました。 試しにホストPCのコマンドプロンプトを使ってtelnetって機能を実験してみようと思って、「telnet 192.168.0.7(←もう一台目のローカルアドレス)」と入力してみたのですが、「ホストに接続できませんでした。 ポート番号 23: 接続に失敗しました」と出てできません。これは初心者なりに考えたのですがファイアーウォール(NortonInternetSecurity2002)かルータ(メルコBLL3-TX4)に特に設定もしてないので、これらが原因だと思われますか(今までだいたい通信のトラブルはこれらが絡んできてるので…汗)? もしその可能性が強そうでしたら大まかでもかまいませんので設定方法など教えて頂けないでしょうか? 自分だけでやっていても、いまいちアウトバウンドやインバンドの項目とか、TCPやUDPとかの項目で、どちらを選択していいのかわかりません。 ルータの方に関してはパケットフィルタの項目に通信を「許可」するような項目を追加すればいいのでしょうか? 同じセキュリティソフトやルータを使ってるかたはもちろん、使ってないかたでも大まかには「ここにこういった設定を追加すればできるかも」と予測の内容でもかまいません。 二つのパソコンともOSはWindowsXP HomeEdition。ファイアーウォールはNortonInternetSecurityが入っています。 よろしくお願いします telnetで表示される内容をテキストファイルに落とすには? ルーターのログをとるため、telnetでルーターに接続し、ログを表示させるコマンドを打つのですが、表示量が多いため、表示内容がどんどんスクロールされていきます。 そこで、これをひとまとめにテキストファイルに落としたいのですが、その方法がわかりません。DOSプロンプト画面の場合は>記号を使用することでリダイレクトできるのですが、telnetではどのようにすればよいのでしょうか?telnet画面を細切れにコピーしそれをメモ帳にペーストしていくという作業を繰り返さざるをえないのでしょうか? また、何らかのコマンドでテキストファイルに一気に落とせる場合、telnet画面の表示が途中で一時停止(--つづく--という表示が出て止まる)することなく、最後まで一気にログを表示させる方法がありますでしょうか。 ご存じの方ご教示の程宜しくお願い申し上げます。 AIは使う人の年齢や市場にも影響する?人工知能の可能性 OKWAVE コラム インターネット経由でルーターにtelnetで接続できない 中途半端な知識ですので、矛盾点がありましたらご指摘ください。 最終的にやりたいことは、インターネット経由でのPCリモートです。 ホスト側はフリーのDNSサービスで名前解決はしており、グローバルIPが変わるごとに随時更新しております。 他の場所にあるパソコンは今回やろうとしている環境で、今現在リモートできています。 ルートは PC→インターネット→ルータ→PC です。 ルータの設定でアドレス変換でTCP UDPとそれぞれポートを開けて、 TCPのほうが DOSコマンドのnetstat -anで tcp側で開けたポートがlisteningとなっています。 リモートできないのであれこれ考えて、 (1)ルータへのping→OK (2)ルータへのtelnet telnet IPアドレス 56**(ポート) →NG 接続できませんというようなメッセージがかえってきます。 試しにうまくリモート出来ている違うPCのルータに対して同じくtelnetすると ログイン画面?となります。 いろいろ調べましたが、私の知識では限界のようです。 よろしくお願いします。 telnetでメール telnetでSMTPサーバーへ25ポートで繋ぐと、コマンド(HELOやmailなど)を送り、ステータスコードなどを確認できる状態になると思います。「Ctrl+}」を押下するとtelnetのコマンドモード(サブコマンド)の状態になります。 ▼この「Ctrl+}」を押下する前のコマンドが打てる状態というのはtelnet接続というのでしょうか? ▼また、セッションモードというはtelnetで23ポートに繋ぎ、そのサーバーでコマンドを実行することをいうのでしょうか? ▼コマンドモード(サブコマンド)の利点として、Ciscoのshow sessionsコマンドのように自分がどれだけのサーバーにtelnetセッションを張っているのかわかるということでよいでしょうか? 他にコマンドモードを使う理由などございますでしょうか?状態を確認できるということはわかるのですが、設定ができるとネットで調べたらありましたが、よくわかりません。 ▼最後に、ブラウザやメールソフトは裏でtelnetを利用しているという認識でよろしいでしょうか? 長々となってしまいましたが、返答できる方いましたらよろしくお願いいたします。 Telnetモジュールで繋がりません。 RHL7のperlのプログラムでモジュールを使い、ルータ(BA512R)へtelnet接続し、WAN側のIPアドレスを取得しようと思っています。 プログラムの問題のある行は、 $t->login('user','password'); のようです。 これでも他のTELNETがあるlinuxサーバへは問題なく繋がるのですが、BA512Rへは繋がりません。 通常、telnetを起動し、openを実行すると、user名、password、の順で聞いてきますが、BA512Rは、passwordをいきなり聞かれ、それでログインできます。 この辺が問題なのでしょうか。 しかし、$t->login('','password')としても、BA512Rには繋がりませんでした。 済みませんが、お教えください。 (ちなみに、DDNSサイトを利用してサーバ公開の為のものです。) 復元ポイントをプログラムで作成したい WindowsXPの復元ポイントをプログラムで作成したいのですが、 そういったWindows APIは存在しないのでしょうか? また、コマンドラインで復元ポイントを作成する方法をご存知の方も併せて教えていただけないでしょうか? よろしくお願い致します。 iremocon wifi とtelnetについて iremocon wifi にmacのターミナルよりtelnetで命令を送り操作するところまでは できたのですが、これをautometorで自動化したくてもできません。 具体的には、 telnet 192.168.24.61 51013 とターミナルで入力すると普通にtelnetが使えるのですが、 同じコードをautometorの「シェルスクリプト」に入力してとりあえず実行すると、 Connection closed by foreign host.と出て次に行けないです。 ターミナルに直接書いて実行すると正常に動くのに、autometorに入力するとできません。 僕自身はプログラムはできなくて、iremoconを活用しようとしてmacのターミナルに 今回初めて触れるレベルの初心者です。一応ネットでautometorでtelnetを実行してる人が いないか探してみましたが、わかりませんでしたので、ご教授お願いしたいです。 それとこれとは別にちょっと疑問なんですが、iremoconにtelnet接続するときに ポート番号の指定が必要でした。(51013)しかしiremoconもmacも僕の自宅lan内に いるのにポート番号指定しないといけないのがちょっと不思議でした。今まで外部から lan内の機器にアクセスするときにポートの開放って言葉で聞いたことはあったんですけど、 lan内の機器どうし間でもポート番号指定は必須なんですか? WindowsXP HomeEditionでtelnetサーバを立ち上げる方法 自宅のWindowsXP<HomeEdition SP2>でtelnetサーバを 立ち上げたいのですが、方法はないでしょうか? 以下はご参考にして頂けるかどうかわからないのですが、 おもな事情のご説明です。 HomeEditionであることを特に気にせず今まで使用して きたのですが、会社から自宅PCにで接続する必要がでて きまして、VNCサーバをインストールしました。 安物のルータでXPマシンにポートフォワーディングして いるのですが、接続元を制限するなどの機能がありません。 それでこのままポートを開けっ放しにしているのも危険 だと思い、自宅のLAN内にあるLinuxサーバにSSHで接続 ・経由して、telnetでXPマシンに接続してVNCサーバの 起動・停止ができたらなぁと考えたのですが、ここにきてHomeEditionなため、telnetdが入っていないことが わかりました。 長文申し訳ございません。 何か方法はありますでしょうか?Cygwinをインストールしてtelnetdを 起動させるなど考えたのですが、もうすこしスマートな方法はないものかと。 やはりルータを買い換えるのがいちばんでしょうか? telnetからのネットワーク接続 サーバーへ接続できず、困っています。 機種はPanasonic Let's note CF-Y7 OSはWindows XP を使用しています。 コマンドプロンプトから telnet "IPアドレス" "ポート番号"の入力をしているのですが、 接続中:IPアドレス…ホストへ接続できませんでした。ポート番号8211接続に失敗しました とのメッセージが出ます。 ポート番号にデフォルトである25や80を入力しても同様のメッセージが出ます。 ファイアウォール(McAfee)でポート番号8211を開くように追加設定しています。 また、ルーターが問題かとも考え、 ドコモのデータ定額プラン(mopera使用)からの 接続も行いましたが、結果は上記と同様です。 何が原因で、どう対策を取れば、 telnetからの接続ができるかわかりません。 PC、ネットワークに不慣れなため、 情報不十分かもわかりませんが、 原因と対策をお教えください。 telnet接続 ある装置にtelnet接続し、コマンド(ccc dd ee)を送信して帰ってきた値を outou.dat というファイルに保存するプログラムを作っています。 接続すると login: と表示されるので「aaaa」と入力すると Welcome to aaaa > と表示され、「bbbb」と入力するとプロンプトが「#」に変わります。 >bbbb # そこでコマンド「ccc dd ee」を入力したときに帰ってくる応答をファイルに保存します。 #ccc dd ee ------応答データ-------- これを行うのに下記プログラムを実行しましたが、エラーは出ませんがファイルに何も 保存されませんでした。 何がいけないのかわかる方教えてください。 use strict; use Net::Telnet; my $host = '192.168.1.1'; my $login = 'aaaa'; my $enable = 'bbbb'; my $prompt1 = '/>/'; my $prompt2 = '/\S/'; my $telnet = new Net::Telnet( Timeout => 10, ); $telnet->open($host); $telnet->waitfor('/login:/i'); $telnet->print($login); $telnet->waitfor($prompt1); $telnet->print($enable); $telnet->waitfor($prompt2); my @result; $telnet->print("ccc dd ee"); ($result) = $telnet->waitfor($prompt2); open(OUT, "> outou.dat"); print(OUT "@result\n"); close(OUT); $telnet->close; 注目のQ&A 「You」や「I」が入った曲といえば? Part2 結婚について考えていない大学生の彼氏について 関東の方に聞きたいです 大阪万博について 駅の清涼飲料水自販機 不倫の慰謝料の請求について 新型コロナウイルスがもたらした功績について教えて 旧姓を使う理由。 回復メディアの保存方法 好きな人を諦める方法 小諸市(長野県)在住でスキーやスノボをする方の用具 カテゴリ [技術者向] コンピューター プログラミング・開発 Microsoft ASPC・C++・C#CGIJavaJavaScriptPerlPHPVisual BasicHTMLXMLCSSFlashAJAXRubySwiftPythonパフォーマンス・チューニングオープンソース開発SEOスマートフォンアプリ開発その他(プログラミング・開発) カテゴリ一覧を見る OKWAVE コラム 突然のトラブル?プリンター・メール・LINE編 携帯料金を賢く見直す!格安SIMと端末選びのポイントは? 友達って必要?友情って何だろう 大震災時の現実とは?私たちができる備え 「結婚相談所は恥ずかしい」は時代遅れ!負け組の誤解と出会いの掴み方 あなたにピッタリな商品が見つかる! OKWAVE セレクト コスメ化粧品 化粧水・クレンジングなど 健康食品・サプリ コンブチャなど バス用品 入浴剤・アミノ酸シャンプーなど スマホアプリ マッチングアプリなど ヘアケア 白髪染めヘアカラーなど インターネット回線 プロバイダ、光回線など
お礼
ご連絡ありがとうござます。プログラム初心者の為、セキュリティ ホールにならないようにしっかり勉強致します。