TCP/IPのデータで質問です。

パソコンのサーバーと無線ハンディをTCP/IPで通信しています。サーバー側は無線ハンディからの要求に応えるプログラム(Visual Basic,Winsockコントロール使用)が起動されています。

このサーバーに無線ハンディ30台(もっと多いこともある)から,いっせいに接続要求を出すのですが,この接続に失敗するハンディがあったりします。

このときLAN上のデータを見てみると,パソコン側からRST(リセット)フラグ(強制切断)のデータが出ていました。どうやらこれが接続に失敗している原因のようなのです。

このRST(リセット)フラグのデータが出るのは,どう行ったときなのでしょうか? どういう理由でRST(リセット)フラグのデータが出るのでしょうか?

ご存知の方,いらしゃいましたら教えていただけないでしょうか? よろしくお願い致します。

このQ&Aに関連する最新のQ&A

A 回答 (5件)

ちなみに、ですが、手元の「TCP/IPバイブル」(SOFTBANK)では、



---------------
RST
 リセットフラグ(reset flag)は、他の全てが失敗するとき使われる。これは
エラーが起こり、コネクションが強制的にクローズされるべきであること(ある
いは、コネクションオープン要求に対する応答として送信されるならば、その要
求が拒否されること)を示す。
---------------
とあります。

実装でどう使われているかというのは、実装によるので難しいですね。
もしかしたら、という事で、MicrosoftのKBを挙げておきます。

参考URL:http://www.microsoft.com/japan/support/kb/articl …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

調べている中で、Winsockコントロールのキューも怪しそうだという情報もありました。どうもありがとうございました。

お礼日時:2001/03/12 09:42

このあたりの資料は書籍のほうが確実だと思います。



思いっきり専門書となりますが、オライリージャパンから出ているものでTCP/IPを
解説しているものがあったはずです。(私のところには「TCP/IPネットワーク管
理」というものしか置いてないので調べてみてください)
このほかにも専門書をたくさん置いてあるところにいけば結構あったと思います。

WebではRSTフラグは「強制切断」としか書いてないところが多数なんで何とも言い
ようがないですが、JPNICホームページのカテゴリ「教育」あたりにあるかもしれま
せん。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

いくつか書店をまわってみましたが「これ!」というものがなくて...。WEBでいろいろ探し回って、少しずつ情報が集まりかけてはいます。

お礼日時:2001/03/12 09:34

>ただ、1度目で失敗したときに、ハンディで接続処理をリトライさせるとつながる


>ようになります。
と いうことで、リトライ時点でその他のハンディのコネクションがまったく切れ
ていないのであれば、ハンディのプログラムを「コネクションを確立できなければ
何度かリトライする」というように改修するべきです。または、サーバにきたコネ
クション確立要求をパケットエラーでない限り受け入れるように改修するべきで
す。

コネクションを確立するのは要求する側の要求であって、要求された側はその要求
がのめる状態かどうかをチェックして初めて要求をのむかどうかを判断します。

コネクション確立要求がはねられる理由は
・資源(通信帯域やコネクションを確立するのに必要なメモリ)を使い切る寸前で
ある
・コネクション要求を受けたあと、返信するまでにある一定時間を経過してしまった
・パケットのエラー
などの原因ですので、このあたりをきちんと検討してみるといいでしょう。

※前回答にも書きましたが、きちんと実験してデータを取り、どこを改修するべき
かはきちんと検討する必要があります。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

もう少しこちらでも情報を集めてみようと思います。

接続要求や、rstフラグのデータについて説明してあるホームページや書籍をご存知ないでしょうか。もしご存知でしたら、教えていただけると助かります。

お礼日時:2001/03/08 09:30

TCPプロトコルは1対1のハンドシェーク通信を行います。



コネクションが成立するとFINを送受信するまでコネクションは成立したまま
となります。
コネクションをエラーなどで切断する必要が出るとRSTを送信してコネクショ
ンを解放します。

また、セキュリティポリシーなどで制限がかかっていてコネクションを成立さ
せたくない相手からのコネクション要求に対してもRSTでコネクションを不成
立させます。

といったところでどうでしょう?

現状はサーバー側からRSTを発信しているとのことですが、すべてのハンディ
からのコネクション要求が受け付けられているのか(つまり、RSTが出るのが
コネクション要求時なのか、コネクション成立後なのか)が分からないのでこ
のあたりに関しては現状をもっと詳しく解析されてみてはいかがでしょう?
(たとえばサーバ負荷とRSTが出てくる状態に関係があるとか)
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

すべてのハンディからのコネクション要求を受け付けられているのか、というと接続できなかったハンディに対しては受け付けられていないようです(VBのプログラムで接続要求イベントがあがっていない)。

ただ、1度目で失敗したときに、ハンディで接続処理をリトライさせるとつながるようになります。

お礼日時:2001/03/07 17:08

多分ですが、以下のことが想像できます。


・無線チャンネルが使いつくされてしまっている
・ハンディのIPアドレスが重複している
・VBのリスンが間に合っていない
・VBプログラムの構造に欠陥がある
・メモリ不足により、スレッド、タスク、プログラムのどれかを起動できなかった。
・不正アクセス監視プログラムによりアタックと認識され、阻止された。

で、RSTになるのは、確か該当サービスが起動していない時、あるいはエラー発生だったかと思います。
だから、無線チャンネルの奪い合い、IP重複という可能性が結構考えられそうです。
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

挙げられた中で言うと、IPアドレスの重複はありません。またPCにはメモリを1GB積んでいますから、不足ということはないと思います。

VBのリスンが間に合っていない、ということはCPUの性能ということでしょうか。ちなみにPen3 800Mhzを使用しています。

不正アクセス監視...という説もありえない話でなさそうですが、「こういう理由でRSTを出した」という情報がどこかで取得できないでしょうか...。

お礼日時:2001/03/07 16:52

このQ&Aに関連する人気のQ&A

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!

このQ&Aを見た人はこんなQ&Aも見ています

このQ&Aを見た人が検索しているワード

このQ&Aと関連する良く見られている質問

QTCP Monitor Plusとセキュリティ

TCP Monitor Plusというソフトとその吐き出す情報についてなのですが、

IP監視モニターには1秒に5回程度、TCP(DL)、UDP(DL)があり、2,3秒に1回くらいUDP(UL)というのが色々なホストから検出されています

セッションモニターには、
bonjour service mDNSReponder.exe
Apple Moblile Device Service
というのが何もしていなくても常時接続されていてます。
セキュリティソフトで強制終了させて、起動禁止にしましたが、
それでもIP監視モニターでは通信しています。

トラフィックモニターを見ると、
30分くらい何もしていなくても、
送信500KB程度、受信が5MB程度溜まっています。
無通信時間というのもなく常にちょっとずつ通信しています

これは暴露ウイルスなどでどこかのコンピューターに送信されているという事なのでしょうか?
winny等共有ソフトは使用したことはないので、感染していたとしても感染経路は不明です…
ちなみにウイルスバスター2009で検索してみたのですが、
ウイルスはTracking Cookie以外発見されませんでした。

OSはWindowsXPホームエディションSP3で、
マンションタイプのケーブルテレビ回線、プロキシー接続?でルーターは無くハブ接続です。

詳しい方ご回答お願いします。。

TCP Monitor Plusというソフトとその吐き出す情報についてなのですが、

IP監視モニターには1秒に5回程度、TCP(DL)、UDP(DL)があり、2,3秒に1回くらいUDP(UL)というのが色々なホストから検出されています

セッションモニターには、
bonjour service mDNSReponder.exe
Apple Moblile Device Service
というのが何もしていなくても常時接続されていてます。
セキュリティソフトで強制終了させて、起動禁止にしましたが、
それでもIP監視モニターでは通信しています。

トラフィックモニターを見ると、
...続きを読む

Aベストアンサー

こんにちは。

私はクラッカーコミュティー巡りや対策ソフトの性能テストなどをしております。

bonjour service mDNSReponder.exe
Apple Moblile Device Service

これらはローカルで完結してるようですけど。CurrPortsを走らせてみて下さい。Refresh Rateを最短の1secで。Optionから設定できます。各プロセスをダブルクリックするとそのプロセスの詳細がわかります。

まあ、ネットワークに関しては相応のスキルがないと厳しいです。

参考URL:http://www.bleepingcomputer.com/startups/mDNSResponder.exe-17254.html

Q携帯電話,無線LAN,一体どうやって個々の機器を見分けるのでしょうか?

携帯電話,無線LAN,一体どうやって個々の機器を見分けるのでしょうか?

大まかに申し上げて二つ質問があります.
1)無線はすべて電磁波でやり取りが行われていますが,どうやって個々の機器(発信元)を
区別しているのでしょうか? たとえば,ある人が私の携帯電話番号に電話をした時,なぜ私の携帯電話だけが受信し,他の人は受信しないのでしょうか? 質問の本質は,「一体どの時点で他の携帯電話と自分の携帯電話が区別されているのか?」ということにあります.素人考えで思いつくのは
a)発信者が送った周波数が私の携帯電話が受信する特有のもので,私の携帯電話はその周波数の電波しか受信しないようになっており,他の人はその電波を受信しないようになっている.
b)どの人も電波を受信しているが,送っている情報の中に私の携帯電話のIDとなるような情報が含まれており,これが含まれていることで私の携帯電話が「あ,自分宛てに来た電波だ」と認識するようになっている.逆に他の携帯電話も受信はするが,そのIDがその携帯電話と一致しないため,受信以降の動作をし始めない.
おそらく(a)でないかと思います.(b)だったら何万件という電波を私の携帯電話が毎度受信していてIDなるものを判別していることになってしまいます.もし,(a)であるならば,私の携帯電話はどうやってその周波数だけを受信しているのでしょうか? どういうメカニズムが周波数を見分けているのでしょうか? また誤受信のようなものがなぜ起きないのかが不思議です.1.0 GHzと1.01GHzを完全に毎回受け分けることがどうしてできるのでしょうか?

2)携帯電話,無線LAN,Bluetoothなど無線機器は世の中たくさんありますが,一体何が違うのでしょうか.周波数帯という言葉の意味が分かっていないかも知れません.例えば,「3.5MHz帯」と言った場合,3.5MHz程度の周波数を使っていることかと理解しております.すると,(1)の質問とかぶりますが,個々の機器は3.5MHzくらいの周波数の中で,特定の周波数を割り当てられている(例えばAさんは3.51MHz, Bさんは3.52MHzなどのように)とうことでしょうか?

無線を勉強しようとしているのですが,この取っ掛かりの段階については,当然の知識なのか,教科書などに見受けられません.悩んでおりどうかご教示頂ければと思っております.どうぞ宜しくお願いします.

携帯電話,無線LAN,一体どうやって個々の機器を見分けるのでしょうか?

大まかに申し上げて二つ質問があります.
1)無線はすべて電磁波でやり取りが行われていますが,どうやって個々の機器(発信元)を
区別しているのでしょうか? たとえば,ある人が私の携帯電話番号に電話をした時,なぜ私の携帯電話だけが受信し,他の人は受信しないのでしょうか? 質問の本質は,「一体どの時点で他の携帯電話と自分の携帯電話が区別されているのか?」ということにあります.素人考えで思いつくのは
a)発信者が送っ...続きを読む

Aベストアンサー

#5です。
混信しないメカニズムですが、携帯電話のCDMA方式はコード多重方式(通信相手ごとにコードが違う)と呼ばれるものです。
普通のラジオ放送などは周波数分割多重(放送局ごとに周波数が違う)で、ご質問者様の例の通り、3.51MHzと3.52MHzという具合に周波数を分けて多重化しています。

一方コード多重の方は、周波数は同じです。
前回答で紹介したページには、「広い部屋で多くの人が一緒に話している状態だが、自分の話し相手の声だけを選択的に聞き分けるようなもの」或いは「自分は日本語で話しているが、AさんとBさんは英語、CさんとDさんはドイツ語、EさんとFさんはフランス語で話しているから混信しない」みたいなたとえが書いてありました。

つまり、コード多重とは同じ周波数で通信しますが拡散コードが異なるために混信などを起こさない方式なのです。
しかし符号干渉などがあるので完全に混信から解放されるわけでもありません。
また広い部屋で多くの人が話しているのと同じなので、それぞれの人は最小の音量で話さなければ、へやのがやがや(ノイズ)が大きくなって会話が成立しなくなります。
このように、コード多重が正しく使える条件が整っているならば、同じ周波数で複数の通信が成立するわけです。

LTEや無線LANなどはOFDMAという、周波数分割多重と似たような方式です。
これは3.51MHzと3.52MHzというように通信相手によって周波数を変えています。
単なる周波数分割多重だとFDMAですが、その前に付いたOはサブキャリア同士が直交していることを示します。
つまり、3.51MHzと3.52MHzは両方同時に使えますが、その真ん中の3.515MHzを誰かが使おうとすると3.51MHzを使っている人とも3.52MHzを使っている人とも混信すると仮定します。

しかし3.51MHzの人と3.515MHzの人のキャリアが直交していれば互いに混信しません。
これを説明するのは難しいのですが、誤解を恐れずに書くならば、Aさんはある長さのヒモを1/2に切り続けています。
1/2,1/4,1/8とどんどん半分に、無限に細かくなります。
しかし1/3の点には決してハサミが入ることがありません。

直交しているもの同士はお互いが見えないのです。

#5です。
混信しないメカニズムですが、携帯電話のCDMA方式はコード多重方式(通信相手ごとにコードが違う)と呼ばれるものです。
普通のラジオ放送などは周波数分割多重(放送局ごとに周波数が違う)で、ご質問者様の例の通り、3.51MHzと3.52MHzという具合に周波数を分けて多重化しています。

一方コード多重の方は、周波数は同じです。
前回答で紹介したページには、「広い部屋で多くの人が一緒に話している状態だが、自分の話し相手の声だけを選択的に聞き分けるようなもの」或いは「自分は日本語で話している...続きを読む

QWin7で「TCP Monitor」を使う

インターネット速度をモニタする「TCP Monitor Plus ver2.59」をダウンロード、展開しましたが、
モニタ(受信も送信も)が動きません。通信がキャッチされていないようです。
Win以外は一緒の環境で使用していたときは使えていました。
何か特別に設定等することがあれば、教えていただきたいです。

現在の使用環境:
Win7 64bit
アンチウイルスソフト:アバスト
Internet Explorer 9

以前の使用環境:
WinXP 32bit
アンチウイルスソフト:アバスト
Internet Explorer 9

Aベストアンサー

こんにちは。


Win7 64bitで検証してみました。

初回起動時にはネットワークアダプターの設定が違うものになっているので、添付け画像のプルダウンメニューから使っているアダプターを選んでみてください。

表示されると思いますよ。(^_^)

Qハンディ無線機のコンパクトアンテナについて

アイコム 50/144/430MHz帯 FMハンディトランシーバー IC-T90 を使用しております。

主な使い方は、スキー場などで仲間との交信に使っております。
時折、遭難時の緊急手段(お守りとして)として登山にも持って行っております。

ただ、スキーの際にウエアのポケットに入れて携帯していると、いかんせん付属のアンテナが長くて
少しじゃまになったりします。

そこで、それ程離れる訳ではないので(せいぜい1キロ以内)コンパクトなアンテナに付け替えようかと
思っております。ネットで見ていると親指ぐらいの大きさの物があるようですので。

登山の際には、付属の長いアンテナを持っていくとして、コンパクトなアンテナはどんなモデルがお勧めでしょうか。
ご意見を伺いたいと思い書き込みしました。

少し調べた感じでは、RH3というモデルが良さそうなのですが。

また、アンテナが短くなると交信距離も狭まるのは承知なのですが、やはりそんなに違うものなのでしょうか。

Aベストアンサー

ハンディ機用のアンテナで50MHzを含んでいるのはごく少数ですので、まず50MHzを「使わない」ことに決めましょう。144/430MHz用なら結構種類があります。

ハンディ用のように波長に比べて長さが極端に短い場合は、長さと利得はほぼ比例するんじゃないかな。送信側と受信側の両方で効くのであんまり短いアンテナは「間違って送信しても壊れない機能がついたコネクタのふた」呼ばわりされてます。短くても問題ないなら、誰も長いアンテナなんてつかいませんって。

ウエァのポケットに入れるなら「柔らかい」アンテナがいいですよ。

QSQL*PLUSでホスト名を入れるとエラー

よろしくお願いします。

SQL*PLUSで、ホスト名を入れると、ORA-12154エラーとなってしまいます。

ホスト名を入力しないと、正常に接続可能です。

ちなみに、DBはローカルにあります。

以下、TNSNAMES.ORAの内容です。

===========================
ORCL =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = cl-000788.iafc.local )(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = orcl)
)
)

=================================

どこか、設定が間違っているのでしょうか?

よろしくお願いいたします。

Aベストアンサー

こんにちわ。

> SQL*PLUSで CONNECT AA/AA@ORCL
> とやっても、ORA-12154エラーがでてしまうのですが・・・。
そうすると、SQL*Plus がtnsnames.ora をきちんとみつけられて
いないようですね。
tnsping ORCL を実行して見てください。
--> tnsnames.ora をどこから探しているか分かると思います。

TNS_ADMIN 環境変数にtnsnames.ora が置いてあるディレクトリを
指定してから再度確認して見てください。

Qハンディ型小型アマチュア無線機に取り付けられるアンテナの種類

ハンディ型小型アマチュア無線機に取り付けられるアンテナの種類


ハンディ型小型アマチュア無線機に取り付けられるアンテナの種類を
何方か御教え下さい。

市販のままでは、ホイップアンテナが取り付けられると思いますが、
その他に八木型やダイポールアンテナなども使用可能か知りたいです。

多分、どのアンテナも取り付けられると思いますが、
市販であるかどうかで判断願います。

後、もちろん、他に自作などもあると思うので、
そのような物でも使用可能かどうかでも良いです。

宜しくお願いします。

Aベストアンサー

No.1です。

> お答えに、開局時に申請したアンテナ型に限るとありますが、
> ハンディ型のアマチュア無線機でも
> アンテナを交換するごとに申請が必要なのでしょうか?。
開局申請の用紙の「無線局事項書及び工事設計書」の最後に「送信空中線の形式」という欄があります。
ここに使いそうなアンテナを沢山書いておけばいいのです。
厳密には今有るものだけ書いて、追加するたびに変更申請というのが筋でしょうが、
これではアマチュアもお役所も大変ですので現状はそういう形が取られています。

QTCPスリーウェイハンドシェイク時の転送データについて

タイトルにもありますように、TCPを使用した通信ではスリーウェイハンドシェイクを行って通信路を確認した後にデータ転送を行うと思うのですが、スリーウェイハンドシェイク時に送りあうデータとはTCPヘッダだけなのでしょうか?
TCPヘッダだけを送るのであればTCPヘッダは約20バイトで、イーサネットで送るのであれば46バイト以下は破棄されて送れないのではないでしょうか?
またTCPヘッダ+データを送るのであればデータの部分は何を送るのでしょう?
当方ネットワークを勉強中の初心者です。説明が分かりづらく申し訳ありませんが、ご教授ねがいます。

Aベストアンサー

wiresharkで実際のパケット見た方が早いと思われますが…

Ethernetのヘッダで14バイト、IPヘッダで20バイト、TCPヘッダで28バイト(オプションデータ付き)…でしょうか。
合計62バイトです。

Qこの原因はサーバー機側の問題ですか?

コンピュータをネットワークに接続させたのですが、ネットワーク上のパソコンも見れますしネットワーク上のプリンタの使用もできるようになりましたが、サーバー機の中をのぞこうとしてパスワードを入力しても見ることができません。設定に間違いはないと思うのですが(何分超素人ですので言い切れませんが)これはサーバー機側の設定がおかしいのでしょうか?ちなみに元々ネットワーク上にあったパソコンなのですがパソコンを再インストールしたので再度ネットの設定をしなくてはいけなくなったものです。サーバーは触ってないと思うのでそのままの状態なのですが。何か考えられますアドバイス等ございましたらお教えください。申し訳ないのですが本日の12時以降のご回答に対するお礼は22日になると思いますがよろしくお願いいたします。

Aベストアンサー

どうもはじめまして!!

回答させていただきます。

パスワードを要求されるということの(多分IPC$のパスワードでは?)原因として考えられるのは、サーバー側にリソースを使用するためのユーザー名&パスワードが登録されていないのではないでしょうか。

NT系のOSは、共有フォルダはNT内に登録してあるユーザーでないと使用できないようになります。(Guestアカウント有効時は除く)
例えていうと、NTを会社とすると、会社側にあらかじめ登録されている社員証を持っていない人は会社に入れずに守衛にとめられてしまうということです。

対処方法としては以下の方法が考えられます
(1)ユーザーアカウントを作成する
(2)Guestアカウントを有効にする

こちらを参考にして下さい

http://www.fukumi.co.jp/tips/lan_ipc$.htm

http://homepage2.nifty.com/winfaq/

Q任意のTCPパケットを送信するプログラムの実装

TCP 通信確立後、任意のパケットを送信するプログラムを
作成しようと考えてます。ここでの任意のパケットとは、
下記のように TCP ヘッダの値を色々と設定したパケットを
指します。

・TCP ヘッダのすべての制御フラグを有効にしたパケット
・TCP ヘッダのチェックサムを意図的に間違えたパケット

任意のデータを送信するだけであれば、通常の socket
プログラムで実装できると思うのですが、TCP ヘッダを
色々と設定するプログラムとなると、どんな実装になるの
でしょうか。C だと SOCK_RAW で socket 通信するよう、
実装するのでしょうか。

実装は C、perl を考えてます。

Aベストアンサー

セッションの確立と任意のパケット送信を(スタックから見たときに)同じセッション行うか、そうでないかで話が変わってくると思います。

同じスタックから行う場合は、既存の TCP スタックをいじって何かのタイミングで任意の動作を行うコードを入れることになります。
linux 2.6系の場合は net/ipv4/tcp_output.c あたりを改変することになるでしょう。
kernel space のプログラミンに対して敷居が高いと感じるなら、userlandで動く TCP スタックを探すと良いと思います。

セッションの確立を行ったのとは別のところから、そのセッション内のものと見せかけたパケットを送信するのならばおっしゃる通り SOCK_RAW でパケットを作って流し込めば良いと思います。
セッションの情報(ポート番号, 両方向の ACK 値など)が固定されているのであれば、比較的簡単に書けるでしょう。固定されていないのであれば、毎回パケットを眺めながら調整する必要があるので、ちょっと大変かな。

相手が同じ応答(普通はACK値が変わりますが)を毎回返してくれるのであれば、URLのツールが使えるかもしれません。
http://www.secdev.org/projects/scapy/

セッションの確立と任意のパケット送信を(スタックから見たときに)同じセッション行うか、そうでないかで話が変わってくると思います。

同じスタックから行う場合は、既存の TCP スタックをいじって何かのタイミングで任意の動作を行うコードを入れることになります。
linux 2.6系の場合は net/ipv4/tcp_output.c あたりを改変することになるでしょう。
kernel space のプログラミンに対して敷居が高いと感じるなら、userlandで動く TCP スタックを探すと良いと思います。

セッションの確立を行ったのとは...続きを読む

Qtcp/ip通信で特定のデータが送れない

おせわになっています。
現在、秋月のH8ボート3069+RTL8019ボードを使用して、TCP/IPの通信プログラムを作成して
いたます。
ボードはホスト側に成っています。


H8OS等は使用していません。

パケットの送受信も有る程度問題なく出来ていて、クライアントからの通信確立も出来ています。
データの送受信を行っているときに、1バイトデータ 0x02を送信使用としたら、一番下のような
エラーが出てきました。

1バイトデータで0x00、0x01、0x03等は問題なく送れています。
Wiresharkで取り込んだデータの一部分を掲載します。

又、エラーとして[Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]と
表示されていますが、実際何が原因でエラーに成っているのかが判りません。

有る程度強引に合わせこんでデータを作っている部分も有るのですが、0x02のデータだけが
送れないというのが判りません。
データを見て頂き、判る方がいましたら教えてください。



[Calculated window size: 64240]
[Window size scaling factor: -2 (no window scaling used)]
Checksum: 0xd1b9 [validation disabled]
[Good Checksum: False]
[Bad Checksum: False]
[SEQ/ACK analysis]
[Bytes in flight: 1]
Data (1 byte)
Data: 03
[Length: 1]
VSS-Monitoring ethernet trailer, Source Port: 0
Src Port: 0
0000 00 40 45 32 27 35 02 00 03 cb 36 06 08 00 45 00
0010 00 29 fc d7 40 00 80 06 3d ac ac 14 64 00 ac 14
0020 04 22 29 04 06 42 65 62 b7 da 9e 32 35 28 50 10
0030 fa f0 d1 b9 00 00 03 00 00 00 00 00 00
              --- このデータは送れている。



Window size value: 64240
[Calculated window size: 64240]
[Window size scaling factor: -2 (no window scaling used)]
Checksum: 0x8254 [validation disabled]
[Good Checksum: False]
[Bad Checksum: False]
[SEQ/ACK analysis]
[Bytes in flight: 1]
[Malformed Packet: FMTP]
[Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]
[Message: Malformed Packet (Exception occurred)]
[Severity level: Error]
[Group: Malformed]
VSS-Monitoring ethernet trailer, Source Port: 0
Src Port: 0
0000 00 40 45 32 27 35 02 00 03 cb 36 06 08 00 45 00
0010 00 29 fc d7 40 00 80 06 3d ac ac 14 64 00 ac 14
0020 04 22 29 04 09 2f 65 62 b7 da d1 ae 4f 24 50 10
0030 fa f0 82 54 00 00 02 00 00 00 00 00 00
              --- このデータは送れていない。

宜しくお願いします。

おせわになっています。
現在、秋月のH8ボート3069+RTL8019ボードを使用して、TCP/IPの通信プログラムを作成して
いたます。
ボードはホスト側に成っています。


H8OS等は使用していません。

パケットの送受信も有る程度問題なく出来ていて、クライアントからの通信確立も出来ています。
データの送受信を行っているときに、1バイトデータ 0x02を送信使用としたら、一番下のような
エラーが出てきました。

1バイトデータで0x00、0x01、0x03等は問題なく送れています。
Wiresharkで取り込んだデータの一部分を...続きを読む

Aベストアンサー

>又、エラーとして[Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]と
>表示されていますが、実際何が原因でエラーに成っているのかが判りません。

ざっと見た程度ですが……。

>0010 00 29 fc d7 40 00 80 06 3d ac ac 14 64 00 ac 14
>0010 00 29 fc d7 40 00 80 06 3d ac ac 14 64 00 ac 14

IPヘッダのIdentificationが同じ値(0xd7fc)のIPパケットで問題ないのですか?
手元のSSHサーバに接続したときのモノ(SSHサーバからのもののみ)では…
Identification: 0x0000 (0)
=>3WayハンドシェークのSYNパケットの返答
Identification: 0xdb28 (56104)
=>ハンドシェーク完了後、SSHサーバが送信してきたウェルカムメッセージ
Identification: 0xdb29 (56105)
=>クライアントからのパケットに対するACK応答パケット
Identification: 0xdb2a (56106)
=>SSHサーバからのオプションなどのクライアントへの通知
というように値が更新されていってますが。

パケットがMTUなどによって分割された場合にIdentificationが同じ値になることはあるようですが、その場合はFlagsとFlagment Offsetで制御されるハズです。
が…Flags(ダンプだと0x0014の場所の上位3ビット)のビット1が1となっていますので「分割を許可していない」状態ですし、Flagment Offsetは同値の0番となっています。
よって受信側では「不正なIPパケット」として破棄しますから、その次のTCP処理まで進まないかと思われますが…そこのところどうでしょうか?

参考URL:http://www.itbook.info/study/p89.html

>又、エラーとして[Expert Info (Error/Malformed): Malformed Packet (Exception occurred)]と
>表示されていますが、実際何が原因でエラーに成っているのかが判りません。

ざっと見た程度ですが……。

>0010 00 29 fc d7 40 00 80 06 3d ac ac 14 64 00 ac 14
>0010 00 29 fc d7 40 00 80 06 3d ac ac 14 64 00 ac 14

IPヘッダのIdentificationが同じ値(0xd7fc)のIPパケットで問題ないのですか?
手元のSSHサーバに接続したときのモノ(SSHサーバからのもののみ)では…
Identification: 0x0000 (0)
=>3Wayハンド...続きを読む


このQ&Aを見た人がよく見るQ&A

人気Q&Aランキング

おすすめ情報