最新消息:20210917 已从crifan.com换到crifan.org

【已解决】Win中VMWare中macOS部署iOS自动抓包的平台对接部分

iOS crifan 427浏览 0评论
折腾:
【未解决】在Win中的虚拟机中macOS中部署iOS的自动抓包
期间,Win中VMWare中macOS中,已经可以对于AppCrawler自动抓包,进行调试和运行了。
现在接着考虑,如何部署对接上抓包平台。
去看看之前的平台对接部分的代码,如何启动和生效的。
且要先和平台组,确定如何联合调试,是不是先对接dev开发环境的。调试通过后,再去切换到线上环境。
先去本地运行代码试试再说
然后遇到
/Users/crifanli/dev/DevRoot/appcrawler/platformIntegration/libs/crifanLogging.py
报错:
Exception has occurred: FileNotFoundError
[Errno 2] No such file or directory: '/Users/crifanli/dev/DevRoot/appcrawler/platformIntegration/logs/autoProcessTask_20200702_094034.log'
明星是缺目录,去创建。
不过也去代码中优化代码,加上自动创建目录的逻辑:
然后故意删除刚手动创建的logs目录,用代码:
/Users/crifanli/dev/DevRoot/appcrawler/platformIntegration/autoProcessTask.py
def initLog():
    curDatetimeStr = utils.getCurDatetimeStr() # '20200316_155954'
    logFolder = os.path.join(PlatformIntegrationFolder, "logs")
    utils.createFolder(logFolder)
    curLogFile = "autoProcessTask_%s.log" % curDatetimeStr
    logFullPath = os.path.join(logFolder, curLogFile)
    crifanLogging.loggingInit(logFullPath)
中的utils.createFolder去试试
是可以的。
继续调试,此处目录登录用户是OK的:
对于mitmdump的检测,去增加对于-k的支持:
/Users/crifanli/dev/DevRoot/appcrawler/platformIntegration/autoProcessTask.py
def detectMitmdumpStatus():
    # crifanli 9428 0.0 0.6 4341956 19792 s006 S+ 9:16上午 0:23.78 /Users/crifanli/.pyenv/versions/3.8.3/bin/python3.8 /Users/crifanli/.pyenv/versions/3.8.3/bin/mitmdump -k -p 8081 -s middleware/Save1.py
    # crifanli 10982 0.0 0.0 4268032 776 s005 S+ 1:51下午 0:00.00 grep mitmdump
    # crifanli 10980 0.0 0.0 4278852 1116 s005 S+ 1:51下午 0:00.01 /bin/sh -c ps aux | grep mitmdump
    # mitmdumpP = "^\s*(?P<username>\w+)\s+(?P<pid>\d+)\s+.+?mitmdump\s+-p\s+(?P<port>\d+)\s+-s\s+(?P<scriptFile>middleware/Save(?P<devId>\d+)\.py)\s*$"
    mitmdumpP = "^\s*(?P<username>\w+)\s+(?P<pid>\d+)\s+.+?mitmdump\s+(-k\s+)?-p\s+(?P<port>\d+)\s+-s\s+(?P<scriptFile>middleware/Save(?P<devId>\d+)\.py)\s*$"
    return utils.grepProcessStatus("mitmdump", mitmdumpP)
可以支持了,能检测出mitmdump的进程的消息了:
 
后续也就可以正常的,kill杀掉当前mitmdump了:
[1]    9428 killed     mitmdump -k -p 8081 -s middleware/Save1.py
也能正常重新启动新代理:
后续:
也能生成启动抓包的脚本
并且调用开始抓包:
期间,抓包本身出问题了:
-》iPhone中已看到:
微信异常,多次下一步之后,还有额外弹框
是关于缓存清理完毕之类的
最后:就退出微信账号,无法登录微信账号了:
现在只能强制杀掉自动运行抓包任务
然后手动登录微信。
重新再去测试看看
然后目前基本上是可以继续抓包iOS微信公众号了:
自动运行的代码中,暂时调试暂停了。
继续调试
然后打算换iOS的app去测试。
然后去找同事,对于dev测试环境,新建一个iOS的app的task,比如米家的iOS的app,用于测试
然后去:
【未解决】自动抓包对接优化不同开发环境的变量定义
同事local环境已新建任务,然后此处去调试
换成:2,2
class TaskType(Enum):
    APP_NAME_CRAWL = 0
    APP_URL_CRAWL = 1
    APP_FILE_CRAWL = 2
    WEIXIN_PUBLIC_ACCOUNT_FILE_CRAWL = 3
    DOMAIN_FILE_CRAWL = 4

class CollectType(Enum):
    WEIXIN_PUBLIC_ACCOUNT_AVATAR_URL_ANDROID = 0
    WEIXIN_PUBLIC_ACCOUNT_MENU_ANDROID = 1
    APP_INFO = 2
    DOMAIN_INFO = 3
    WEIXIN_PUBLIC_ACCOUNT_AVATAR_URL_iOS = 4
    WEIXIN_PUBLIC_ACCOUNT_MENU_iOS = 5

    # taskTypeValue = TaskType.WEIXIN_PUBLIC_ACCOUNT_FILE_CRAWL.value
    # collectTypeValue = CollectType.WEIXIN_PUBLIC_ACCOUNT_MENU_iOS.value
    taskTypeValue = TaskType.APP_FILE_CRAWL.value
    collectTypeValue = CollectType.APP_INFO.value
可以获取到任务文件了:
接着就可以继续调试了。
可以获取同事新建的iOS的app 米家 的task任务文件了。
继续调试,拷贝task文件:
可以启动米家app去调试:
不过此处特殊:米家app需要登录才能继续测试。。。
那去登录自己账号试试
可以登录,继续去测试
可以继续自动运行了:
然后可以开始调试任务状态了:
从 未开始 变成 正在运行
也更新了状态,然后此处就一直运行了:
此处设置的最大2小时的运行,等2小时后看看是否会停止退出
以及此处,的确保存url到数据文件中了:
是没问题的。
不过,为了测试抓包对接,还是暂时去把抓包时长改为5分钟
/Users/crifanli/dev/DevRoot/appcrawler/middleware/config.yml
# 最大测试时间:限定单个iOS的app任务最长测试时间,单位:秒
MaxCrawlingTime:
  iOS:
      # app: 7200 # 2小时
      app: 300 # 5分钟 for deubg
然后重新去调试看看
可以自动运行,然后看看5分钟后,能否会自动由于超时而停止
然后看看后续crawl end的逻辑是否正常
刚才超时时间搞错了,现在重新去调试。
忘了把第一个task,调试去把状态从 running改为 not running
导致可以调用自动安装了,不过发现是搞错了:去抓包平安金融了。
所以停止。重新去试试
所以重新调试,改状态:
def debugUpdateTaskStatus():
    taskStatus = TaskStatus.IS_RUNNING
    # taskStatus = TaskStatus.END_FAILED
    # taskStatus = TaskStatus.END_SUCCESSFUL

    taskInfoList = getTask(taskStatus)
    if taskInfoList:
        for eachTaskInfo in taskInfoList:
            taskId = eachTaskInfo["id"]

            newTaskStatus = TaskStatus.NOT_RUNNING

            newTaskStatusValue = newTaskStatus.value
            newTaskStatusName = newTaskStatus.name
            isUpdateOk, respInfo = updateTaskStatus(taskId, taskStatus=newTaskStatusValue)
            logging.info("isUpdateOk=%s, respInfo=%s", isUpdateOk, respInfo)


debugUpdateTaskStatus()
改完后,才能重新调试。
现在可以去重新调试米家了。
此处故意把crawl end断点去掉了,看看后续能否一气呵成,跑完整个single task的过程
此处是可以的:
再去看看data文件:
是我们希望的:
/Users/crifanli/dev/DevRoot/appcrawler/data/xxx/20200604_xxx_MiJiaNoBundleId_app/20200604_xxx_MiJiaNoBundleId_app_iOS.txt
MarkerElement|b=aaaa_baac|{"a": "米家1", "b": "小白智能摄像机1080P云台版小白智能摄像机1080P云台版"}
http://data.mistat.xiaomi.com/mistats/iosv3?ai=2882303761517266489&fc=0&p=3rQxg4L7sW0VxtWxLgEwM9nswXWzOm5TjfCOkNcsSMkoPnOKhvXVvignTLio8OVQuN1lnn3s%2BuUDK/U0/lyWZh1ePwIefowcfFbAGGTltYCGaWwC6bwEyiIv7B1/jYfFfSxSRK0jCFjkE04LtkINEvqcvOJoWuTPy%2BSvys70w3FLk33%2BXXdswrHSRucEbfSBWm/q1NUbN6fZu13pDBEnMOkOzmvS0DmQa81H1Vh3B6PVGXWu6IfS6A/Y974SzyKeE0WzrqxXJCa%2BfI1A3c8T5JtTNyCDC55Tn7KkyAL4G2PkpgbZhb9MI88FuP41Gz0iTzddsxt09i01CcSaf1FXeSjqHtFKCBc6fLHR%2BSMZUCB7WUli8JwZwDEV3Co1QlDrNMnDi0UXbOTX%2BSBi8KBUvJjaSzv5roX4wR9oIN9KoR4DPerBAGNhOg0BXnuzfcM1yh/6DM5u5Mhs4xMQ0PsxPlnNzuYKI5Qx3iEMd/fMQo8kKYfwfIr%2BAKdV8mj9LZun6yo3PmUNYVF8GMdNi4QfFAtW4yer63ANTkOiXtucjcIpkp0/uaJwr1UxlKrUntL%2B%2B1MosC60eZc2WO/Yfee%2BHZTIiZt3ecSJP8fZqMge5ZHjS6bwfy7mK9TPmyA7T8UaeLXJe9%2BKT977dAdN3Kd2m2u/CvmgcJBa7KZvhHMETf69JP3gx4pfrVEbsB0d4VaMvCxYRfk%2BKxrLpXR/2UZZRtEqkNhCE4XXZUtuNbPa4uKJwpTqR96ab0RIHAykeuy28UZsXjJhQaTkupJ0B6FvuDZYnFK078LA9QDT7QIeuxTVJVBF9vJcjY0K%2Bz3trU14RWLiQtG1vopdVxoYT4kxlBvgyXvcu1LbRdwNQ334QdxrEuJJIWljOq3YrG9xfVcAAH3zEP3cOAW6xu0rTd2I/zrinGxC3sma1YagSVKgo/g%3D&pv=3.0&rg=CN&sid=1a3d6feb2b3431214b3fbd0a3987e4c85942dd180f64b03bd13bc685e63b09f4598f2e13aff6de1566764c4a46c70955&sn=55349a1cfae6b8a252506d209ad174ce&sv=3.0.7|None
MarkerAccount|bb62512466/米家|exceedMaxCrawlingTime
MarkerAccount|bb62512466/米家|end
即:
exceedMaxCrawlingTime
是超过时限而停止的。
截至目前,算是:Win中VMWare中macOS中,部署了自动抓包对接平台集成,自动化调用任务并执行,算完成了。

转载请注明:在路上 » 【已解决】Win中VMWare中macOS部署iOS自动抓包的平台对接部分

发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
94 queries in 0.188 seconds, using 23.42MB memory