V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
tool2d
V2EX  ›  问与答

TCP 掉包怎么办?

  •  
  •   tool2d · 257 天前 · 807 次点击
    这是一个创建于 257 天前的主题,其中的信息可能已经有所发展或是发生改变。
    现在安卓手机的 adb wifi tcp 端口,每一次打开都会变。我网上搜了一圈,非 ROOT 的情况下,只能暴力搜索端口号。

    于是,我就写了一个异步连接 TCP 的端口查询工具。但是,每次执行结果,总会有几个端口会遗漏。(比如 PC 或手机,开了 23 ~ 24 个 TCP 监听端口,每次扫描得到的是 22 个左右,总会漏几个,还不固定)

    我就开始查原因,确认 TCP 端口打开似乎并没有太好的办法。如果对方响应 tcp connect ,那么程序就会收到确认包。如果不响应,过 5 秒超时,就假定端口是关闭的。

    那么问题来了,假设我一瞬间发送了 1 万个 TCP 异步请求,那我怎么确认,网卡没有掉 TCP 包呢?
    4 条回复    2024-03-28 14:39:15 +08:00
    ysc3839
        1
    ysc3839  
       257 天前 via Android
    直接用 nmap 扫描不行吗?为何一定要自己实现?
    ho121
        2
    ho121  
       257 天前 via Android
    adb tcpip 5555
    执行以后端口就不会变了
    tool2d
        3
    tool2d  
    OP
       257 天前 via Android
    @ysc3839 我还以为程序会很简单,无非是发个包收个包的事情,没想到最后掉大坑里了。
    tool2d
        4
    tool2d  
    OP
       244 天前
    @ho121 这个命令,在设备重启后,TCP 端口会关闭。

    找到一个方法可以自动开启,用 ssh 辅助一下,adb connect 之前,先执行一下

    sudo setprop service.adb.tcp.port 5555;sudo stop adbd;sudo start adbd

    就可以了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1390 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 20ms · UTC 17:33 · PVG 01:33 · LAX 09:33 · JFK 12:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.