14/04/15 11:58:23.72 FRZaT020
openssl
736:デフォルトの名無しさん
14/04/15 12:32:59.42 WaetxQT9
先に進めてみればわかる
737:デフォルトの名無しさん
14/05/17 23:03:21.87 gMQ/DgzW
特定のマシンにARPパケット投げて、
ARPテーブルのMACを書き換えているのですが、
無線LANの場合、期待通りになりません。
原因わかりますでしょうか?
Windowsで最新WinPcapライブラリ使って
ARPパケットを投げています。
両マシンとも無線LANで同じネットワークです。
アクセスポイントの問題かな。
738:デフォルトの名無しさん
14/05/17 23:13:54.36 G8Lb2FJE
MAC偽装しているなら、無線区間のMAC偽装はWinPCAPではできない
739:デフォルトの名無しさん
14/05/19 23:06:58.53 8NVWe51U
>>738
なるほど、そういうことでしたか、納得。
740:デフォルトの名無しさん
14/05/21 21:05:00.89 e27UFOXq
WinPcapライブラリの使い方の良い情報源はないでしょうか?
できればC#から使いたい
741:デフォルトの名無しさん
14/05/21 21:08:37.78 v/u6M390
WinPcapNet
742:デフォルトの名無しさん
14/05/22 08:51:43.06 pX1Bpa+a
ありがとう
743:デフォルトの名無しさん
14/06/07 14:27:22.26 8MnQl1Rb
ここにいる人たちには初歩的なことかもしれませんが、教えてください
Linuxでソケットを使ったプログラムを作っているのですが、少し大きめのデータを何個かsend,recvした後に
サーバ、クライアントでcloseするとconnection reset by peerが時々出るようになりました。
closeするタイミングによってまだ残っている処理(send,recv)が取り残されているように思うのです。
サーバとクライアントでcloseするタイミングを同期する方法はありますでしょうか?
よろしくお願いします
744:デフォルトの名無しさん
14/06/07 15:13:58.52 pYRByoGi
>>743
通常はcloseしても送信しきる先に切られることは無いので
別のことが原因と思います
745:デフォルトの名無しさん
14/06/07 15:38:02.72 8MnQl1Rb
>>744
有難う、もう少し探ってみます。
746:デフォルトの名無しさん
14/06/07 16:35:42.74 ZfdboDuT
>>743
>サーバとクライアントでcloseするタイミングを同期する方法はありますでしょうか?
クライアントとサーバ上のアプリケーション間通信について、
以下のケースに応じて通信の終了に関する規約(プロトコル)を決める
(1) データ送信が必ず一方向のケース(例:パイプ)
送信側は任意にcloseできるが、受信側ではソケットからの
終了通知(データ長=0)を待ってからcloseしなければならない
(2) 要求/応答のペアからなるトランザクションが常に同一側で発生するケース(例:HTTP/FTP/SMTP)
要求メッセージ送信側は任意にcloseできるが、応答メッセージ送信側では
ソケットからの終了通知(データ長=0)を待ってからcloseしなければならない
(3) データ送信要求が任意の時点かつ双方の側で発生するケース
制御メッセージとして通信終了要求(例:"QUIT")と通信終了応答(例:"OK")を定義し、
正常に通信を終了させたい時は終了要求メッセージを送信し応答を待つ
要求を受信した終了受け入れ側では応答メッセージを送信して即座にソケットをcloseする
終了要求側では応答メッセージ受信を確認してからソケットをcloseする
(3)のケースは複雑な手順を踏まなければならないのだから、連動テストで問題が発生してから
解決策を悩むのではなく、上流の設計工程でアプリケーション間通信プロトコルの全体を
ステートマシンとして形式的に定義し、正当性を検証しておくことが望ましい
747:デフォルトの名無しさん
14/06/07 16:56:39.59 afR3dkD/
>>746にあるとおり、アプリケーションレイヤのプロトコルを決めてないところに問題があると思う
このメッセージを送信したらcloseする、このメッセージを受信したらcloseする、とか
mibをダンプするコマンド(nstatとか)でTcpExtTCPAbortOnCloseがインクリメントされてたら、
>>743の推測通り、アプリケーションがメッセージを吸い上げる前にcloseが発行されてると思う
748:デフォルトの名無しさん
14/06/07 22:16:48.00 oYteh1Pa
無線で電波が途切れた場合とかどうテストしたらいいん?
749:デフォルトの名無しさん
14/06/07 22:32:20.13 ZfdboDuT
>>748
・単体テストであれば、スタブ側で電波途切れのエラーを返す
・有線で組み通信中にケーブルを引き抜き擬似的に現象を起こす
・金属ケースや地下室などの電波を遮蔽できる環境を用意する
頭を使えば、様々なアイデアがでると思うよ
750:デフォルトの名無しさん
14/06/07 22:39:04.87 D6sqOe5Q
>>748
どのレベルのプログラムの話なんだ?
ドライバ?ネットワークスタック?アプリケーション?
751:デフォルトの名無しさん
14/06/07 22:49:51.34 yvNnNrOK
>>748
ノートPCを持って電波が途切れる所まで離れてみる
青歯で実際にやったことあるぞww
752:デフォルトの名無しさん
14/06/07 23:30:00.41 1rlrU+oI
相手の電源切ればいいじゃん