
おせわになっています。
現在、秋月の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
--- このデータは送れていない。
宜しくお願いします。
No.1ベストアンサー
- 回答日時:
>又、エラーとして[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
この回答への補足
Wr5 様
ご丁寧な回答有難うございます。
Identificationに関しては、プログラムでデータを増えるようにしましたが、やはり0x02の1バイトだけが送れません。
おそらく、お知らせ頂いた部分に何らかの不具合が有るだろうとは思いますので、もうしばらくプログラムの見直し等して見ます。
又なにか判りましたらお知らせ頂けると大変有りがたいです。
以上宜しくお願いします。
Wr5 様
有難うございました。
自己解決しました。
サーバー側からの送信信号しか見ていませんでしたが、クライアント側(Windows)から接続を確立し、その後0x02を送信させると同じ現象が発生しました。
その後リトライで再度0x02を送信するのですが、そのときにクライアントがkeepalive状態に成っていて、同じデータを送信していました。
この時には0x02をデータとして表示しています。
この事から、単独で0x02の1バイトを送信出来ないと判断しました。
参考文献を読まないといけないと思いますが、Windowsパソコンから送信して同じ結果に成っているので
そういうものだと判断しておきます。
今回は有難うございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- C言語・C++・C# TCP/IP通信時のサーバーからの受信 2 2022/11/23 09:11
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
- 英語 From the data mentioned that extracted from the cu 1 2023/01/25 19:55
- その他(コンピューター・テクノロジー) 「プロトコル」の定義について 5 2023/04/16 13:13
- Excel(エクセル) CSVファイルがカンマ区切りにならない。対処法を教えていただきたいです。 仕事でSMS一斉送信ができ 2 2022/07/01 21:24
- Android(アンドロイド) Androidスマホのデータ移行が終わらない 1 2023/08/04 17:25
- docomo(ドコモ) +メッセージの送受信。 au(uq mobile)のデータ回線でdocomoの電話番号の+メッセージ 2 2022/09/14 16:09
- Windows 7 パソコンのハードデスクが壊れました。 SSDに交換して復活できますか? 6 2022/10/24 19:55
- その他(コンピューター・テクノロジー) 専用のACアダプタはUSB PDに取って代わられ今後なくなりますよね? 専用のACアダプタはデータを 1 2023/08/25 11:57
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
tcp/ip通信で特定のデータが送...
-
MACアドレスが知られた場合の危...
-
NAT配下のDNSどうやって外から...
-
UDPパケットの分割について
-
ネット回線の上がりと上りの通...
-
携帯電話のパケット(128バイト...
-
FWの設定について(片方向のル...
-
異常パケット
-
デフォルトルート(ゲートウェ...
-
MTUのサイズが調整されているの...
-
学校からパソコンを借りてます...
-
IPアドレスの呼び方
-
「Windowsサービスのホスト プ...
-
YAMAHAルータ
-
同一LAN内にあるPC間のアクセス...
-
売れてないホストほど枕ってし...
-
アンテナではなくインターネッ...
-
IP網とは何ですか?
-
2つのネットワーク間でファイ...
-
三重県のCATVについて!!!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
MACアドレスが知られた場合の危...
-
tcp/ip通信で特定のデータが送...
-
FWの設定について(片方向のル...
-
デフォルトルート(ゲートウェ...
-
UDPパケットの分割について
-
MACアドレスの情報はどこに保存...
-
通信用語 FR・CR接続って...
-
NAT配下のDNSどうやって外から...
-
ブロードキャスト転送できるか...
-
ARPに失敗したときの動作
-
パケットドロップの発生について
-
異常パケット
-
ICMP Echo Message はtcp,udp...
-
通信プロトコルやパケットにつ...
-
MTUとRWINの調整
-
NTTサービス『131』って何ですか?
-
sftpとインターネットVPN
-
インターネット送受信データに...
-
不正アクセスを見破る方法を教...
-
スループット計算方法について
おすすめ情報