• 締切済み

10年前のシステム ソケット通信 モニタ出来ない

10数年前に作られたUNIXプリをWindowsに置き換えようとしています。 このシステムでは上位系のオフコンとソケット通信をしています。 ドキュメントがほとんど無い状態。 通信部の確認の為、接続テスト用プログラムを作りましたがうまくい きませんでした。 どんな内容が流れているのか元のUNIX-オフコン環境に別のPCにパケ ットモニタをつなぎ何が流れてるのか見ようとしたのですが、なぜか 何も見えません。 <質問> ・パケットモニタに何も現れないのは使い方がまずいだけでしょうか?  何か情報があれば教えてください。 ・その他、何でも情報あればお願いします。 <既設>オフコン-UNIX間通信処理  通信タスクは2本 ・タスクAはクライアント ・タスクBはサーバ ・まずタスクAがコネクトし、ある伝文を送るとオフコン側から  タスクBが待つポートへつなぎに来る。 <その他> ・今回オフコン側はノータッチです。 ・断片的に見つかった資料には、タスクA,Bそれぞれに  送信用、受信用として異なるポート番号が書いてありましたが、  ソースには当然ポート番号はタスクA,Bそれぞれ一つしか書い  てませんでしたのでドキュメントは間違いと判断してます ・パケットモニタはsqueezerを使用  今回の試験用にPC同士で作った通信はモニタ可  モニタ用のPCをつなぐ際はスイッチングでないHUB使用

みんなの回答

  • kusa_mochi
  • ベストアンサー率76% (1599/2089)
回答No.1

何も見えないと言う事は、ソフトの設定を根本的な所で間違っているとか実はそのHUBがリピータHUBでは有りませんでしたという可能性が想像できる。 どの辺に問題が有るか切り分ける為に、その解析対象のコンピュータではなく普通の2台のWindowsマシンを繋いで(その2台のマシンでマシンAからマシンBの共有フォルダの中にあるファイルの参照&コピー等を行ってみる)それら間で流れるパケットが正常にキャプチャ出来ているか確認してみた方が良いと思う。 (上記の状況はあくまで一例なので、別の状況を準備しても良いと思う)

_bakeratta
質問者

お礼

ご意見ありがとうございます。 パケットモニタの件はその後あまり進展はしていませんが、 ソケット通信で一つ初歩的な理解不足の点があり、その点を考慮して の再試験を準備中です。 ソケットのポートというのは、送受信で同一のポートを使うのだと 誤認識してました。接続相手のオフコンはサーバタスク、クライアントタスクそれぞれに対し、自分と相手のポートを指定していました。 最初のコネクトの所では自局側のポートは無指定だったので、そこで 相手から拒絶されたのでは無いかと考えています。 ま、パケットモニタの件とは直接関係ありませんが... また何かわかったらご助言お願いいたします。

関連するQ&A

  • モニタ出力について

    SOTEC PC STATION V7200AVR を知人から譲り受けましたが、 「このモニタ出力ポートはご利用いただけません グラフィック ポート側のポートをご利用ください」というシールがモニタの 差込に張ってあって、実際にモニタの差込にモニタ側の差込を コネクトして起動させてもモニタには何にも写りません。 モニタに写すにはどうするのでしょうか? シールに記載してあるグラフィックポートとはどこにあって どのようにすればモニタに映し出されるのでしょうか? 素人にもわかり易く教えて下さい。m(__)m

  • ひっくりかえした通信接続

    すみません教えてください。 2拠点間接続(両方Solarisサーバ)の間にFWを入れています。 ある市販のソフトウェアを使用して通信を行っています。 そのソフトは常に接続開始側が、相手先の特定のポート1つに 対して接続して通信をするので、そのポートだけ空けています。 通信自体は正常に行われて、やりとりしたいものは結果として は正しく行われています。 ただ、その数秒後に、その通信をひっくり返したような、通信が 発生します。  ●セッション1(正常通信)   A → Bの1234ポート宛て Aの送信元ポート番号はzzzとします。  ▲セッション2(数秒後に発生する通信)   B → Aのzzzポート宛て Bの送信元ポート番号は1234 zzzのポート番号は1024以上の不定なポート番号なので、FWで 穴あけするわけにもいかず、困っています。 このような通信が発生する原因がわかる方がいたら教えて下さい。 ちなみにソフトウェアベンダに確認した所、●のセッシ ョンしか行ってないので、lsofでzzzのポートを補足してみたら、その ソフトから行われていました。もうわからなくなってしまいました(/_;) もしかしてsolarisかtcp等の通信の仕様?ででている のか?というところでアドバイスを頂けますと助かります。 長文ですみません。

  • ソケットで通信できない

    Solaris + C で作成したプログラムAと、 PC上のVBで作成されたアプリBとの通信を行おうとしていま。 PC側のVBで、 Winsock.LocalPort = 3000 Winsock.Listen の処理があります。 Aではソケットの生成(socket)→接続(connest)→書込み(write)を行っていますが、すべて成功している模様です。 ・・が、VB側のWinsock_DataArrivaでブレークしていても、一向に受信する気配がありません。 VB及びソケットに関して、ほとんど知識がないので上記処理であっているかも分かっていません。 解決策をご存知の方がおられましたら、ご教授願いたく。

  • 異なるIPセグメントで通信させる方法

    端末AとBがあったとして(とりあえずWindowsのPC) AとBのIPアドレスのセグメントは異なるとします。 Bにはポート番号10000番のサーバーソフトが起動していたとします。 その場合AからBへUDPでポート番号10000に対してブロードキャストした場合、Bのサーバーソフトはそのパケットを正常に受信できるでしょうか?(フィルタドライバなどは使わずに一般的なソケットプログラムによる実装で) よろしくお願いいたします。

  • COMポート通信をモニターしたい

    現在、PCと組み込み系の端末との間でRS-232C通信をさせています。このRS-232C通信のTXとRXのデータのタイミングなどをモニターできるソフトはありませんでしょうか? 現在RS-232C通信をさせているのですが、組み込み系の端末側にはTCP-RS232C通信変換のモジュールを取り付けていて、PC側もTCP-RS232C変換させるソフトを使用しています。 TCP-RS232C通信変換のモジュールはWIZNET社製のWIZ110SRというのを使用しています。 PC側ではTCP-RS232C通信変換ソフトでWIZNET社製のWIZ VSPというソフトを使用して、TCPで受けたデータをRS-232Cに変換して受信プログラムソフトに転送しています。 このPC側の受信ソフトとTCPへ変換する間のCOMポートの通信をモニターできるようなソフトというものはありませんでしょうか? どうぞ、ご教授頂きますようお願い致します。

  • サーバプロセスとクライアントプロセスの通信

    サーバプロセスとクライアントプロセスの通信がどのように行われているのか確認させてください。 現在、以下の認識でいます。 (1)TCPコネクション  サーバ側ポート番号【23】と、それぞれのクライアント側ポート番号【****】との間に確立する。   (2)通信処理  クライアント側のプロセスAは、サーバ側のプロセスA(子)  クライアント側のプロセスBは、サーバ側のプロセスB(子)  クライアント側のプロセスCは、サーバ側のプロセスC(子)  との間で通信を行う。 ※添付の図も参照ください。 認識に相違ないでしょうか。 サーバプロセスとクライアントプロセスの通信を行う際、プロセス間(ポート間?)の通信には、IPアドレスとポート番号を組み合わせたソケットを用いるため、サーバ側ではソケット【192.168.0.1:23】を1個作成し、クライアント側ではソケット【192.168.0.2:****】をプロセス分作成すると考えています。 このとき、クライアントプロセスAはサーバプロセスA(子)と通信を行いますが、サーバ側で作成されているソケットは1つであるため、どの子プロセスに対してデータをせばいいのか判別できないのではないかと考えています。 ※クライアントプロセス(A、B、C)はソケット(サーバ側)【192.168.0.1:23】に対して送信されるため。 上記について、何らかの仕組みがあるのでしょうか。 よろしくお願いします。

  • ソケット通信での再接続

    ソケット通信での再接続 ソケット通信でサーバ側は立ち上げたまま、 クライアント側を同じポート番号で 何度も再接続できるようにしたいと考えております。 http://blog.livedoor.jp/akf0/archives/51585502.html を参考にマルチスレッドを利用してプログラムを作成してみましたが 最初の起動に関してはうまくいくのですが、 クライアント側を一度終了してもう一度再接続すると、 バインドエラーが出ます。 いろいろ試してみたのですが、 どうしてもうまくいきません。 どうすればいいのでしょうか。 ご存じの方がいらっしゃればお答えいただきたいと思っております。 よろしくお願いいたします。 環境 OS:Windows XP 開発環境:Visual Studio 2008 Express Edition ソケット通信:winsock2 マルチスレッド:win32api

  • 【ソケット通信】TIME_WAITを0にする方法

    【現状】 VC#でソケット通信のソフトを作成しています。 【問題】 クライアント―サーバ型のソケット通信をしようとしているのですが、切断後すぐに再接続できないという問題が生じております。 【調査結果】 調べたところ、TCP/IPの状態遷移でアクティブクローズ側がTIME_WAIT状態になることが分かっています。TIME_WAITの設定値には意味合いがあり、漂流中の重複パケットの問題を回避するためや最後のACK再送のためであることは理解しております。 【やりたいこと】 今回は基本的に1:1通信でルータを挟まずにやりとりするネットワークなので、TIME_WAITを0、もしくは数msecにしたいと考えています。 ※ 同じIPアドレス、ポート番号で接続したい為(ポート固定での再接続) 【自分で出した解決案の一つ】 どうもサーバ(Listenする側)からアクティブクローズすると、TIME_WAITは生じるもののクライアントから接続要求を出すと同じポートからでももう一度接続できてしまうというのは判明したので、必ずサーバから切断要求を出す仕様にすればTIME_WAITが0になるように思われます。 ただし、なぜ再接続できるのかは不明のため、すっきりしない(&環境や設定が異なると再接続できない可能性あり) 【質問】 (1) クライアント側からアクティブクローズする場合に、TIME_WAIT状態を1秒未満に設定する方法はありますか?(VC#で) (2) サーバからアクティブクローズした場合に、なぜ再接続できてしまうのでしょうか? 以上の2点の質問に、どうかご回答のほどよろしくお願いいたします。

  • UDP通信について

    はじめまして。 UDPの通信について教えて下さい。 送信元ポートと宛先ポートについてです。 機器A-機器Bで通信をする場合です。 両方の機器で同じアプリ(ポート番号10000)が起動しているとします。 機器Aから機器Bのアプリに対してフレームを送信した時、 送信元ポートはランダムな値(仮:5000)で宛先ポートは10000になると思います。 機器Bでフレームを受信した後、応答フレームを送信する時には 送信元ポート10000、宛先ポート5000になると思います。 機器Aで起動しているアプリのポート番号は10000ですので機器Bからの応答フレームの宛先ポート5000とは一致しません。 この場合、どのようにソフトは判断しているのでしょうか? 組み込みで評価ボードに同じアプリを実装してお互いに通信させるのが 目的です。

  • FTPのパケットが飛びません

    あるPC(Aとします)から同一セグメント上のサーバ(Bとします)へFTPがつながらなくて困っています。 この現象が起きたのは昨日からで、それ以前はきちんとつながりました。 FTPクライアントは NextFTP ですが、FFFTP にしてもだめ、Windows付属のコマンドラインのftp.exeでもダメです。 おかしいなと思ってパケットモニタ(http://homepage2.nifty.com/spw/software/vigil/)をマシンAに入れてパケットを覗こうとしましたが、A→B への通信を見ようとすると Port 80 ・・・正常 Port 25 ・・・正常 Port 21 ・・・パケット飛ばず というわけで Port 21 だけパケットが出ないという状況。 FTPクライアントを変えても同じです。 また、通信先をB以外のサーバーに変えてもやはり Port21は通りませんでした。 なにやらOSレベルで外部の PORT 21 への接続をブロックしているような挙動です。 マカフィのfirewallが入ってますが、このような設定をした覚えもなく、さっぱりわかりません。 原因を調べるとしたら他にどんな方法がありますか?