mones2/20.uIPが動かない原因を探る


Top / mones2 / 20.uIPが動かない原因を探る

これは何か

uIPをMona用にビルドしましたが、実行して、Windows側からpingやwgetしても反応がありません。
その原因を探ります。

成果物

ノーマルタイプ
Monaタイプ
uIPを同梱したISOイメージです。アドレスが192.168.100.2に固定されています。

デバッグ

Monaに無理やり移植したuIPを実行しても、動いていないように見える。
 
症状は
 
    * Windows側からのpingに反応しない
    * Windows側からのwgetに反応しない
 
 
こういうときのデバッグの際に、どうやって犯人を追い詰めるかの過程を書いてみると、だめな点が分かったり他の人の助けになるかもしれない。
 
思考・デバッグの流れ
 
   1. pingに反応がない ARP はうまくいっているだろうか?
   2. Windows側で arp -a してみると・・・。ARPがキャッシュされていない。
   3. うーん。ARPがうまくいってないってことは、まずはARP リクエストを受信できているのだろうか?
   4. printfを受信っぽいところに埋め込む
   5. 受信できているっぽい
   6. じゃあ送信は?うーん。送信も一応しているなぁ。
   7. Ethrealでパケットを覗き見よう。
   8. まずはIPアドレス指定でMonaのIPアドレスに関連してパケットを全部監視
   9. 再度ping送信
  10. む。Monaからの応答が記録されない。
  11. 今一度送信ロジックが呼ばれているか確認
  12. 呼ばれている
  13. 送信されたEther Frameの値を printfしてみるが正しそう
  14. 手詰まり感が漂う
  15. ふと、「送信されているけど、Windows側やEtherealに破棄されるほどパケットが壊れているかも」と思いつく。
  16. Mona側の送信ロジックでEther Frameを強制的にブロードキャストにする
  17. Ethereal の受信条件をARPに切り替える。(Ether FrameのプロトコルがARPとして送られているのはprintfデバッグで確認済み)
  18. 受信してみる・・・。Ethereal上でMalformed Packet ARP/RARPと表示された
  19. 手がかりができたので今調べています(*A*  )
 
実況中継追記1
 

http://f.hatena.ne.jp/images/fotolife/h/higepon/20051231/20051231010617.png

 
パケットダンプをじーーーっと見てくると見えてくる見えてくる。
 
まず赤丸の部分がおかしい。
 
HardwareTypeの値なんだけれども・・・。
 
それと青丸のところも怪しいなぁ。MACアドレスっぽいものが繰り返し現れる。
追記2
 
12byte程ずれている気がする。そしてすごい眠い(ぉ
追記3
NICドライバとuIPでEther Frameを2重出力しているのが原因でした。

 

コメント

コメントはありません。 コメント/mones2/20.uIPが動かない原因を探る?

お名前:

MENU

now: 3

リンク


最新の20件
2018-05-03 2017-09-29 2017-04-25 2017-01-10 2016-12-11 2016-10-04 2016-08-14 2016-06-05 2016-05-29 2016-04-15 2015-12-28 2013-02-25 2013-02-21 2013-02-20 2013-02-12 2013-02-11 2013-02-10
最新の20件
2010-02-01 2010-01-31 2010-01-30 2010-01-29 2010-01-16

Counter: 2606, today: 1, yesterday: 1

添付ファイル: filemona-iso-20051231.zip 445件 [詳細] fileuip-0.9-mona-20051231-02.zip 396件 [詳細] fileuip-0.9-mona-20051231.zip 406件 [詳細]

リロード   新規 編集 凍結 差分 添付 複製 改名   トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS

Last-modified: 2008-03-28 (金) 15:48:00 (3793d);  Modified by mona
PukiWiki 1.4.6 Copyright © 2001-2005 PukiWiki Developers Team. License is GPL.
Based on "PukiWiki" 1.3 by yu-ji
Powered by PHP 5.2.17
HTML convert time to 0.061 sec.