请教一个有关网络编程和 NETGEAR 路由器的问题 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
qgewfg
V2EX    问与答

请教一个有关网络编程和 NETGEAR 路由器的问题

  •  
  •   qgewfg 2015-08-14 11:17:54 +08:00 3317 次点击
    这是一个创建于 3788 天前的主题,其中的信息可能已经有所发展或是发生改变。

    背景:最近公司开发了一个iOS App,由于某种原因这两天需要在家办公。
    然而我发现在家里的WIFI网络(NETGEAR路由器)下App发出的所有HTTP请求都会超时,但是用原来旧的那个腾达的路由器就不会,在公司的WIFI网络和4G网络下也正常。我把HTTP请求的URL复制出来用手机浏览器打开也正常,用UIWebView在App里请求也是正常的。
    App 底层是自己用C++实现的HTTP client,我唯一能想到的就是我新入的NETGEAR路由的设置有问题,是不是出于安全考虑给过滤掉了我们这种用TCP自己实现的HTTP请求。是我的路由设置有问题还是我们的HTTP请求不规范?期待各位大牛回复,帮我定位并解决问题。Thanks!

    13 条回复    2015-08-14 21:33:52 +08:00
    qgewfg
        1
    qgewfg  
    OP
       2015-08-14 12:05:57 +08:00
    为什么这么多人在线却没人回复。。。55555
    gamexg
        2
    gamexg  
       2015-08-14 12:14:44 +08:00   1
    表示只能抓包了,看看你发出去的请求和浏览器发出的有什么区别。

    很有可能NETGEAR路由内置了透明代理,你的http请求不规范,被代理给砍掉了。
    qgewfg
        3
    qgewfg  
    OP
       2015-08-14 12:20:32 +08:00
    @gamexg 手机连上HTTP代理,App C++层通过Socket发出去的包抓不到,想通过Wireshark抓包,就需要实现手机通过电脑上网,可是我电脑没有RJ-45接口。。。没办法共享Wi-Fi给手机用。。。

    另外,我可以通过路由器设置关掉透明代理吗?
    gamexg
        4
    gamexg  
       2015-08-14 13:36:33 +08:00
    本地开个 dnsspeeder 之类的dns服务器、及 http 透明代理。
    dnsspeeder 将域名解析到本机 ip ,但是本机绝对不要用dnsspeeder 解析域名,不然死循环了。

    修改手机dns,然后本机抓包即可。
    hcymk2
        5
    hcymk2  
       2015-08-14 13:45:04 +08:00   1
    ios设备上应该可以安装tcpdump吧 -w x.cap, 用Wireshark打开就行。
    qgewfg
        6
    qgewfg  
    OP
       2015-08-14 13:59:47 +08:00
    @gamexg 好的,我试试,谢谢!
    qgewfg
        7
    qgewfg  
    OP
       2015-08-14 14:00:08 +08:00
    @hcymk2 iOS设备也可以安装tcpdump吗?我找找看
    kukat
        8
    kukat  
       2015-08-14 14:48:08 +08:00
    mac共享wifi,手机连这个wifi,wireshark想怎么抓就怎么抓
    qgewfg
        9
    qgewfg  
    OP
       2015-08-14 15:31:44 +08:00
    @kukat Mac本身就是通过Wi-Fi上网也可以用Wi-Fi共享吗?怎么共享?我试了MS不行。
    rubyonrail
        10
    rubyonrail  
       2015-08-14 17:32:38 +08:00
    @qgewfg 不用建wifi 用Charles建一个HTTP proxy ,然后手机连那个proxy去访问就好了
    qgewfg
        11
    qgewfg  
    OP
       2015-08-14 18:07:08 +08:00
    @rubyonrail 手机连上HTTP代理,App C++层通过Socket发出去的包抓不到,没有走系统的HTTP代理。
    xenme
        12
    xenme  
       2015-08-14 21:07:02 +08:00
    直接 rvictl,iOS 原生支持,然后 OS X 上 tcpdump 直接抓包就好了
    ETiV
        13
    ETiV  
       2015-08-14 21:33:52 +08:00
    前两天关注了的一个库, 应该是查看网络请求的
    https://github.com/netguru/ResponseDetective

    另, Mac 上 iPhone 模拟器能正常访问么?
    如果症状同 iPhone 的话, 应该可以直接从电脑上抓包.

    tcpdump 需要手机越狱才能跑.
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2812 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 03:52 PVG 11:52 LAX 19:52 JFK 22:52
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86