ページ 1 / 1
Winsockで接続先ホストが取得できません。
Posted: 2014年11月17日(月) 16:40
by からしれんこん
http://fast-uploader.com/file/6971765389770/
ソースと実行ファイルを一式アップロードしたので見てください。
パスワードは57630です。
スマートフォンのパケットをキャプチャする目的で作成しているのですが、接続先ホストのところ(ソースの172行目以降)でホストを取得できません。
どこが悪いのかわからないので教えてください。
Re: Winsockで接続先ホストが取得できません。
Posted: 2014年11月17日(月) 17:04
by h2so5
他のアプリケーションではそのホスト名は解決できるのでしょうか。
Re: Winsockで接続先ホストが取得できません。
Posted: 2014年11月17日(月) 17:17
by からしれんこん
h2so5 さんが書きました:他のアプリケーションではそのホスト名は解決できるのでしょうか。
他のアプリケーションというとどういう意味ですか?
WiFiのプロキシ設定でIPをローカルIP、ポートを57630にしています。
それでSafari上でyahoo.co.jpにアクセスしています。
おおまかな流れ的には
①iPhoneのWiFi設定でプロキシIPをローカルIPに、ポートを57630にする。
②パソコン上でtest_proxy.exeを起動し、リクエスト待機状態にする。
③iPhoneのsafariでサイト(テストではyahoo.co.jpを使用)を閲覧する。
④HTTPリクエストはyahoo.co.jpではなく、パソコン上のtest_proxy.exeへ送られる。
⑤test_proxyで接続先ホストとリクエストを分解し、接続先ホストへリクエストを送る。
⑥test_proxyで接続先ホストからのレスポンスを受け取る。
⑦iPhoneへレスポンスをそのまま返す。
このような感じです。
⑤の接続先ホストとリクエストの分解までは出来ているのですが、接続先ホストへのリクエストの部分で止まってしまいます。
Re: Winsockで接続先ホストが取得できません。
Posted: 2014年11月17日(月) 17:36
by h2so5
174行目の
コード:
printf("Host -> %s\n",host);
ですが、hostは文字列でないので中身が確認できないと思いますが。
Re: Winsockで接続先ホストが取得できません。
Posted: 2014年11月17日(月) 17:52
by からしれんこん
h2so5 さんが書きました:174行目の
コード:
printf("Host -> %s\n",host);
ですが、hostは文字列でないので中身が確認できないと思いますが。
すみません。それは気にしないでください。
前のが残ってました。
176行目の
if(host == NULL)が通ってしまうのですが、これはなぜでしょうか?
Re: Winsockで接続先ホストが取得できません。
Posted: 2014年11月24日(月) 20:13
by からしれんこん
失礼しました。
正規表現の使い方が間違っていました。
無事にHostを取得することができました。