├── Dockerfile ├── LICENSE ├── README.assets ├── image-20200805182000515.png ├── image-20200805182045786.png └── image-20200805182303616.png ├── README.md ├── Test ├── Python Venv Usage.md ├── ceair.txt ├── host.txt ├── morePing.py └── requirements.txt ├── morePing.py └── requirements.txt /Dockerfile: -------------------------------------------------------------------------------- 1 | From python:3 2 | 3 | COPY . . 4 | RUN pip install -r requirements.txt 5 | 6 | ENTRYPOINT ["python3","morePing.py"] -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2020 mstxq17 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /README.assets/image-20200805182000515.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstxq17/MorePing/b736351cbd5f3dbde3bc080d1912b95690d33c38/README.assets/image-20200805182000515.png -------------------------------------------------------------------------------- /README.assets/image-20200805182045786.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstxq17/MorePing/b736351cbd5f3dbde3bc080d1912b95690d33c38/README.assets/image-20200805182045786.png -------------------------------------------------------------------------------- /README.assets/image-20200805182303616.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/mstxq17/MorePing/b736351cbd5f3dbde3bc080d1912b95690d33c38/README.assets/image-20200805182303616.png -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # MorePing 2 | A cdn detector with high speed! 基于Python 多线程+多协程通过调用API接口来高速批量多地Ping来检测资产CDN归属。 3 | 4 | 可以用于端口扫描、端口服务检测前期精准探测等用途。 5 | 6 | ### UpdateLog 7 | 8 | 2022/1/13: Fix issue, add to the feature plan(refactor/accererate), thanks for your star! 9 | 10 | 11 | 12 | #### Installation 13 | 14 | ```shell 15 | git clone https://github.com/mstxq17/MorePing.git 16 | cd ./MorePing 17 | pip3 install -r requirments.txt 18 | ``` 19 | 20 | #### Usage 21 | 22 | ```shell 23 | usage: morePing.py [options] 24 | 25 | * A cdn detector with high speed * 26 | 27 | optional arguments: 28 | -h, --help show this help message and exit 29 | --host HOST Scan host fr om command line 30 | -f TargetFile Load new line delimited targets from TargetFile 31 | -p PROCESS Number of processes running concurrently, 10 by default 32 | --force Force to extract host from irregular Text 33 | -v show program's version number and exit 34 | ``` 35 | 36 | #### Example 37 | 38 | ```shell 39 | 1.check Version 40 | python3 morePing.py -v 41 | 2.check single host 42 | python3 morePing.py --host baidu.com 43 | 3.check more host from regular file 44 | python3 morePing.py -f hosts.txt -p 8 45 | 4. check mote host from disorder and chaos file (Regular match host automatically) 46 | python3 morePing.py -f other.txt --force -p 8 47 | ``` 48 | 49 | #### Demo 50 | 51 | ![image-20200805182000515](README.assets/image-20200805182000515.png) 52 | 53 | 54 | 55 | ![image-20200805182045786](README.assets/image-20200805182045786.png) 56 | 57 | ![image-20200805182303616](README.assets/image-20200805182303616.png) 58 | 59 | 60 | 61 | #### TODOS 62 | 63 | - [ ] 增加更多的多地Ping API的接口 64 | 65 | 66 | 67 | 68 | 69 | #### KnowBUGS 70 | 71 | - 当线程数过大的时候,API接口会限制频繁请求,会出现gevent请求异常 72 | 73 | 74 | 75 | -------------------------------------------------------------------------------- /Test/Python Venv Usage.md: -------------------------------------------------------------------------------- 1 | ## Python虚拟环境Usage 2 | 3 | ``` 4 | 0.安装virtualenv 5 | pip3 install virtualenv 6 | 1.创建目录 7 | mkdir Test 8 | cd Test 9 | 2.创建独立运行环境-命名venv 10 | virtualenv --python=python3 venv0 11 | 3.进入虚拟环境 12 | source venv0/bin/activate 13 | 4.安装第三方包 14 | pip3 install geven 15 | pip3 install alive_progress 16 | pip3 install requests 17 | 5. 正确运行 18 | python3 morePing.py -v 19 | 6. 导出依赖包 20 | pip3 freeze > requirements.txt 21 | 6.退出venv环境 22 | deactivate 23 | ``` 24 | 25 | -------------------------------------------------------------------------------- /Test/ceair.txt: -------------------------------------------------------------------------------- 1 | 443: https/-, 2000: cisco-sccp/-, 2 | cargo2.ceair.com 3 | ip:101.230.234.5 4 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 5 | gcs.ceair.com 6 | ip:101.230.234.5 7 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 8 | it.wh.ceair.com 9 | ip:58.49.33.100 10 | 161: snmp/-, 11 | piapp.ceair.com 12 | ip:101.230.234.5 13 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 14 | shoppingactivity.ceair.com 15 | ip:101.230.234.5 16 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 17 | ecapitb.ceair.com 18 | ip:101.230.234.5 19 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 20 | manual.ceair.com 21 | ip:101.230.234.5 22 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 23 | you.ceair.com 24 | ip:101.230.234.5 25 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 26 | b2gdev.ceair.com 27 | ip:101.230.234.5 28 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 29 | manageb2c.ceair.com 30 | ip:101.230.234.5 31 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 32 | uptest.ceair.com 33 | ip:220.248.59.52 34 | 80: http/-, 443: https/-, 8039: /-, 35 | cehr.ceair.com 36 | ip:101.230.234.5 37 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 38 | jsbx.ceair.com 39 | ip:101.230.234.106 40 | 443: https/-, 44300: /-, 44301: /-, 44302: /-, 44310: /-, 44311: /-, 44312: /-, 41 | sharecotrip.ceair.com 42 | ip:101.230.234.5 43 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 44 | mobile.ceair.com 45 | ip:117.186.251.18 46 | 80: http/-, 443: https/-, 5060: sip/-, 7480: /-, 8000: http-alt/-, 32480: /-, 47 | boeinglsapl.ceair.com 48 | ip:101.230.234.96 49 | 9443: tungsten-https/-, 50 | openapi.ceair.com 51 | ip:140.207.105.61 52 | 443: https/-, 53 | frms-sso.ceair.com 54 | ip:101.230.234.5 55 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 56 | msap.ceair.com 57 | ip:101.230.234.5 58 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 59 | onecard.ceair.com 60 | ip:101.230.234.5 61 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 62 | autochkin.ceair.com 63 | ip:101.230.234.5 64 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 65 | pdas.ceair.com 66 | ip:101.230.234.5 67 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 68 | holiday.ceair.com 69 | ip:101.230.234.5 70 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 71 | ecpassport.ceair.com 72 | ip:101.230.234.5 73 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 74 | en.ceair.com 75 | ip:122.119.74.139 76 | 80: http/-, 443: https/-, 77 | hotelcotrip.ceair.com 78 | ip:101.230.234.5 79 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 80 | mobileprepro.ceair.com 81 | ip:140.207.105.21 82 | 2000: cisco-sccp/-, 5060: sip/-, 7480: /-, 8000: http-alt/-, 8008: http/-, 32280: /-, 32380: /-, 32480: /-, 83 | refund.ceair.com 84 | ip:122.119.74.139 85 | 80: http/-, 443: https/-, 86 | sc.ceair.com 87 | ip:101.230.234.5 88 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 89 | myidtravel.ceair.com 90 | ip:101.230.234.5 91 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 92 | id.ceair.com 93 | ip:101.230.234.5 94 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 95 | hotels.ceair.com 96 | ip:101.230.234.5 97 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 98 | icusslab.ceair.com 99 | ip:101.230.234.92 100 | 8080: http-proxy/-, 101 | ffpservice.ceair.com 102 | ip:101.230.234.5 103 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 104 | 781.ceair.com 105 | ip:117.186.251.25 106 | 80: http/-, 2000: cisco-sccp/-, 5060: sip/-, 8008: http/-, 107 | ebapp.ceair.com 108 | ip:101.230.234.5 109 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 110 | foisapp43.ceair.com 111 | ip:101.230.234.5 112 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 113 | ealdm.ceair.com 114 | ip:101.230.234.5 115 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 116 | dev-robotsms.ceair.com 117 | ip:101.230.234.5 118 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 119 | ecki.ceair.com 120 | ip:122.119.74.149 121 | 80: http/-, 122 | channel.ceair.com 123 | ip:140.207.105.24 124 | 5060: sip/-, 8008: http/-, 125 | fxw-weather.ceair.com 126 | ip:101.230.234.5 127 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 128 | ecrm.ceair.com 129 | ip:122.119.74.149 130 | 80: http/-, 131 | appdev.ceair.com 132 | ip:117.186.251.19 133 | 2000: cisco-sccp/-, 5060: sip/-, 8008: http/-, 134 | unionpay.ceair.com 135 | ip:101.230.234.5 136 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 137 | payapicotrip.ceair.com 138 | ip:101.230.234.5 139 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 140 | efb.ceair.com 141 | ip:101.230.234.5 142 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 143 | frms-rpt.ceair.com 144 | ip:101.230.234.5 145 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 146 | vpn.ceair.com 147 | ip:220.248.59.25 148 | 80: http/-, 443: https/-, 149 | foisapp161.ceair.com 150 | ip:101.230.234.5 151 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 152 | jsbx-api.ceair.com 153 | ip:101.230.234.106 154 | 443: https/-, 44300: /-, 44301: /-, 44302: /-, 44310: /-, 44311: /-, 44312: /-, 155 | fn-fs.ceair.com 156 | ip:101.230.234.5 157 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 158 | ecabin1.ceair.com 159 | ip:101.230.234.5 160 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 161 | cki.ceair.com 162 | ip:101.230.234.5 163 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 164 | addservice.ceair.com 165 | ip:122.119.74.139 166 | 80: http/-, 443: https/-, 167 | appdl.ceair.com 168 | ip:101.230.234.5 169 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 170 | muservice.ceair.com 171 | ip:101.230.234.5 172 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 173 | insurance.ceair.com 174 | ip:119.254.233.1 175 | 80: http/-, 8088: radan-http/-, 176 | muapp.ceair.com 177 | ip:101.230.234.5 178 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 179 | mail.aoc.ceair.com 180 | ip:101.230.234.89 181 | 443: https/-, 182 | uk0.ceair.com 183 | ip:101.230.234.5 184 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 185 | foisapp45.ceair.com 186 | ip:101.230.234.5 187 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 188 | configcotrip.ceair.com 189 | ip:101.230.234.5 190 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 191 | ealdm-mob.ceair.com 192 | ip:101.230.234.5 193 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 194 | tr781.ceair.com 195 | ip:101.230.234.5 196 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 197 | kahotel.ceair.com 198 | ip:185.28.220.2 199 | 80: http/-, 443: https/-, 200 | cargoctc.ceair.com 201 | ip:101.230.234.5 202 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 203 | ceagent.ceair.com 204 | ip:122.119.74.149 205 | 80: http/-, 206 | invoice.ceair.com 207 | ip:101.230.234.5 208 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 209 | jgpmi.ceair.com 210 | ip:101.230.234.5 211 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 212 | wcm.ceair.com 213 | ip:101.230.234.5 214 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 215 | zhaopin.ceair.com 216 | ip:101.230.234.5 217 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 218 | nsg.ceair.com 219 | ip:101.230.234.5 220 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 221 | vacations.ceair.com 222 | ip:101.230.234.5 223 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 224 | jgp.ceair.com 225 | ip:101.230.234.5 226 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 227 | foisapp44.ceair.com 228 | ip:101.230.234.5 229 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 230 | ceb.ceair.com 231 | ip:101.230.234.5 232 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 233 | educontents.ceair.com 234 | ip:101.230.234.5 235 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 236 | ibs.ceair.com 237 | ip:101.230.234.5 238 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 239 | car.ceair.com 240 | ip:101.230.234.5 241 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 242 | nuk.ceair.com 243 | ip:101.230.234.5 244 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 245 | jnjd.ceair.com 246 | ip:101.230.234.5 247 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 248 | fxw-weather2.ceair.com 249 | ip:101.230.234.5 250 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 251 | activity.ceair.com 252 | ip:101.230.234.5 253 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 254 | foisapp41.ceair.com 255 | ip:101.230.234.5 256 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 257 | wftp.ceair.com 258 | ip:101.230.234.71 259 | 21: ftp/-, 22: ssh/-, 80: http/-, 443: https/-, 990: ftps/-, 260 | erpscm.ceair.com 261 | ip:101.230.234.5 262 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 263 | easternmiles.ceair.com 264 | ip:117.186.251.58 265 | 5060: sip/-, 8008: http/-, 266 | ecpay.ceair.com 267 | ip:101.230.234.5 268 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 269 | flynet2.ceair.com 270 | ip:101.230.234.5 271 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 272 | cadet.ceair.com 273 | ip:101.230.234.5 274 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 275 | utravel.ceair.com 276 | ip:101.230.231.54 277 | 5060: sip/-, 8008: http/-, 278 | location.ceair.com 279 | ip:101.230.234.5 280 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 281 | skymall.ceair.com 282 | ip:101.230.234.5 283 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 284 | s.ceair.com 285 | ip:101.230.234.5 286 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 287 | ceair.com 288 | ip:122.119.74.139 289 | 80: http/-, 443: https/-, 290 | mapapi.ceair.com 291 | ip:101.230.234.114 292 | 8080: http-proxy/-, 293 | kr0.ceair.com 294 | ip:101.230.234.5 295 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 296 | ck0.ceair.com 297 | ip:101.230.234.5 298 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 299 | cebidding.ceair.com 300 | ip:101.230.234.5 301 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 302 | ccdp.ceair.com 303 | ip:101.230.234.5 304 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 305 | fn-flight.ceair.com 306 | ip:101.230.234.5 307 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 308 | observer.ceair.com 309 | ip:122.119.74.155 310 | 80: http/-, 311 | img.skymall.ceair.com 312 | ip:101.230.234.5 313 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 314 | change.ceair.com 315 | ip:122.119.74.139 316 | 80: http/-, 443: https/-, 317 | static-cdn.ceair.com 318 | ip:122.119.74.169 319 | 80: http/-, 320 | fn-flight2.ceair.com 321 | ip:101.230.234.5 322 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 323 | uniorder.ceair.com 324 | ip:122.119.74.139 325 | 80: http/-, 443: https/-, 326 | fn-crs2.ceair.com 327 | ip:101.230.234.5 328 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 329 | unipay.ceair.com 330 | ip:122.119.74.139 331 | 80: http/-, 443: https/-, 332 | pss.ceair.com 333 | ip:122.119.50.26 334 | 80: http/-, 443: https/-, 18888: apc-necmp/-, 335 | 99bill.ceair.com 336 | ip:61.152.114.231 337 | 80: http/-, 81: hosts2-ns/-, 443: https/-, 338 | security.ceair.com 339 | ip:101.230.234.5 340 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 341 | page-analysis.ceair.com 342 | ip:101.230.234.5 343 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 344 | skytest.ceair.com 345 | ip:101.230.234.5 346 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 347 | globalhotels.ceair.com 348 | ip:185.28.220.2 349 | 80: http/-, 443: https/-, 350 | wt.ceair.com 351 | ip:101.230.234.5 352 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 353 | lib.ceair.com 354 | ip:101.230.234.5 355 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 356 | ec-epidemic.ceair.com 357 | ip:123.206.238.231 358 | 443: https/-, 843: /-, 359 | emas-aserver.uat.ceair.com 360 | ip:101.230.234.5 361 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 362 | emas-api.uat.ceair.com 363 | ip:101.230.234.5 364 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 365 | emas-ceph.uat.ceair.com 366 | ip:101.230.234.5 367 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 368 | vapp.ceair.com 369 | ip:101.230.234.103 370 | 443: https/-, 371 | emas-adash.uat.ceair.com 372 | ip:101.230.234.5 373 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 374 | mail.global.ceair.com 375 | ip:34.214.84.63 376 | 25: smtp/-, 80: http/-, 443: https/-, 587: submission/-, 993: imaps/-, 995: pop3s/-, 377 | nfr.ceair.com 378 | ip:101.230.234.5 379 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 380 | nkr.ceair.com 381 | ip:101.230.234.5 382 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 383 | njp.ceair.com 384 | ip:101.230.234.5 385 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 386 | ebcdn.ceair.com 387 | ip:101.230.234.5 388 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 389 | mdmssag.ceair.com 390 | ip:101.230.234.55 391 | 443: https/-, 392 | ebwx.ceair.com 393 | ip:101.230.234.5 394 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 395 | ebcms.ceair.com 396 | ip:101.230.234.5 397 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 398 | nhk.ceair.com 399 | ip:101.230.234.5 400 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 401 | alteon2.ceair.com 402 | ip:140.207.105.58 403 | 443: https/-, 5060: sip/-, 8008: http/-, 404 | nau.ceair.com 405 | ip:101.230.234.5 406 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 407 | ebpay.ceair.com 408 | ip:101.230.234.5 409 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 410 | muc.ceair.com 411 | ip:101.230.234.79 412 | 443: https/-, 444: snpp/-, 6101: backupexec/-, 8101: ldoms-migr/-, 413 | nit.ceair.com 414 | ip:101.230.234.5 415 | 554: rtsp/-, 8008: http/-, 8011: /-, 8018: /-, 8045: /-, 8060: aero/-, 8088: radan-http/-, 8180: /-, 8812: /-, 8849: /-, 8899: ospf-lite/-, 9039: /-, 9054: /-, 9055: /-, 9083: emc-pp-mgmtsvc/-, 9090: zeus-admin/-, 9443: tungsten-https/-, 9896: /-, 9999: abyss/-, 14653: /-, 20443: /-, 416 | ntw.ceair.com 417 | ip:101.230.234.5 -------------------------------------------------------------------------------- /Test/host.txt: -------------------------------------------------------------------------------- 1 | ltdns.ceair.com 2 | ns3.ceair.com 3 | smtpin2.ceair.com 4 | smtpin3.ceair.com 5 | selfservice.ceair.com 6 | cabin-file.ceair.com 7 | shopping.ceair.com 8 | m9.ceair.com 9 | behavior.ceair.com 10 | dhyx.ceair.com 11 | frms.ceair.com 12 | 13 | -------------------------------------------------------------------------------- /Test/morePing.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*- coding:utf-8 -*- 3 | 4 | from alive_progress import alive_bar 5 | from argparse import ArgumentParser, RawTextHelpFormatter 6 | import json 7 | import queue 8 | import gevent 9 | import threading 10 | import re 11 | import sys 12 | import os 13 | import time 14 | from gevent import monkey 15 | monkey.patch_all() 16 | import requests 17 | # global variables 18 | task_queue = queue.Queue() 19 | result_queue = queue.Queue() 20 | lock = threading.Lock() 21 | 22 | 23 | def report_result(): 24 | dirPath = './report' 25 | if not os.path.exists(dirPath): 26 | os.mkdir(dirPath) 27 | cdnHost = dirPath + '/' + 'cdnHost_' + \ 28 | time.strftime('%Y%m%d', time.localtime()) + '.txt' 29 | realHost = dirPath + '/' + 'realHost_' + \ 30 | time.strftime('%Y%m%d', time.localtime()) + '.txt' 31 | errorHost = dirPath + '/' + 'errorHost_' + \ 32 | time.strftime('%Y%m%d', time.localtime()) + '.txt' 33 | all_result = [] 34 | 35 | # handle output 36 | global STOP_THIS 37 | 38 | try: 39 | while not STOP_THIS: 40 | if result_queue.qsize() == 0: 41 | time.sleep(0.1) 42 | continue 43 | while result_queue.qsize() > 0: 44 | all_result.append(result_queue.get()) 45 | 46 | cdn_text = '' 47 | real_text = '' 48 | error_text = '' 49 | for item in all_result: 50 | if item['isCdn'] is True: 51 | cdn_text += item['host'] + '\n' 52 | cdn_text += 'ip:' + ','.join(list(item['ip'])) + '\n' 53 | elif item['isCdn'] is False: 54 | real_text += item['host'] + '\n' 55 | real_text += 'ip:' + ''.join(list(item['ip'])) + '\n' 56 | else: 57 | error_text += item['host'] + '\n' 58 | 59 | with open(cdnHost, 'w') as f1, open(realHost, 'w') as f2, open( 60 | errorHost, 'w' 61 | ) as f3: 62 | f1.write(cdn_text) 63 | f2.write(real_text) 64 | f3.write(error_text) 65 | 66 | if all_result: 67 | print( 68 | '[Scan report save to]:{c} {r} {e}'.format( 69 | c=cdnHost, r=realHost, e=errorHost 70 | ) 71 | ) 72 | else: 73 | print('[Error, result null]') 74 | 75 | except Exception as e: 76 | print('[Error Save Result Thread]: {}'.format(e)) 77 | sys.exit(-1) 78 | 79 | 80 | def format_producer(args): 81 | lines = [] 82 | if args.host: 83 | lines.append(args.host.strip()) 84 | 85 | if args.force and args.f: 86 | with open(args.f, 'r') as inFile: 87 | content = inFile.read() 88 | pattern = re.compile( 89 | r'([a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.[a-z]+?)\s' 90 | ) 91 | resList = pattern.findall(content) 92 | for h in resList: 93 | try: 94 | lines.append(list(h)[0]) 95 | except Exception as e: 96 | print('[Error Force Mode]:{}'.format(e)) 97 | 98 | elif args.f: 99 | with open(args.f, 'r') as inFile: 100 | lines += map(lambda x: x.strip(), inFile.readlines()) 101 | 102 | # duplicate removal 103 | lines = list(set(lines)) 104 | for host in lines: 105 | if host: 106 | task_queue.put(host) 107 | 108 | return True 109 | 110 | 111 | def consumer(bar): 112 | while True: 113 | try: 114 | target = task_queue.get(timeout=0.5) 115 | except: 116 | if task_queue.empty(): 117 | break 118 | 119 | thread_worker(target) 120 | # show the progress... 121 | lock.acquire() 122 | bar() 123 | lock.release() 124 | 125 | 126 | def get_nodes(host): 127 | req_url = 'https://wepcc.com:443/' 128 | req_headers = { 129 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'} 130 | param_body = { 131 | "host": host, 132 | "node": "1,2,3,4,5,6,7,8" 133 | } 134 | node_pattern = re.compile(r'data-id="(\w+?)"') 135 | try: 136 | req = requests.post(url=req_url, headers=req_headers, data=param_body) 137 | if req.status_code == 200: 138 | return node_pattern.findall(req.text) 139 | else: 140 | print(f"get_nodes Error:{status_code}") 141 | except Exception as e: 142 | print(e) 143 | return [] 144 | 145 | 146 | def thread_worker(host): 147 | nodes = get_nodes(host) 148 | my_set = set() 149 | try: 150 | jobs = [gevent.spawn(gevent_worker, host, node, my_set) 151 | for node in nodes] 152 | gevent.joinall(jobs, timeout=20) 153 | # print([job.value for job in jobs]) 154 | if my_set: 155 | isCdn = True if len(my_set) > 1 else False 156 | else: 157 | isCdn = 'Error' 158 | result = {'host': host, 'isCdn': isCdn, 'ip': my_set} 159 | print(result) 160 | # enter result to result_queue 161 | result_queue.put(result) 162 | 163 | except Exception as e: 164 | print('[Error Thread worker]: {}'.format(e)) 165 | 166 | 167 | def gevent_worker(host, node, my_set): 168 | req_url = 'https://wepcc.com:443/check-ping.html' 169 | req_headers = { 170 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'} 171 | param_body = 'node={n}&host={h}'.format(n=node, h=host) 172 | try: 173 | req = requests.post(url=req_url, data=param_body, headers=req_headers) 174 | if req.status_code == 200: 175 | try: 176 | json_data = json.loads(req.content) 177 | if json_data.get("code") == 0: 178 | return False 179 | elif json_data.get("msg") == 'ok': 180 | ip = json_data['data']['Ip'] 181 | my_set.add(ip) 182 | return True 183 | else: 184 | print(f"{host}:{json_data.get('msg')}") 185 | return False 186 | except Exception as e: 187 | print('[Error Gevent Worker Parse {host} Json]: {error}'.format( 188 | host=host, error=e)) 189 | else: 190 | print(req.status_code) 191 | except Exception as e: 192 | print('[Main Error Gevent Worker]: {}'.format(e)) 193 | time.sleep(0.5) 194 | 195 | return False 196 | 197 | 198 | def parse_args(): 199 | parser = ArgumentParser( 200 | prog='morePing', 201 | formatter_class=RawTextHelpFormatter, 202 | description='* A cdn detector with high speed *\n', 203 | usage='morePing.py [options]', 204 | ) 205 | parser.add_argument( 206 | '--host', 207 | metavar='HOST', 208 | type=str, 209 | default='', 210 | help='Scan host from command line', 211 | ) 212 | parser.add_argument( 213 | '-f', 214 | metavar='TargetFile', 215 | type=str, 216 | default='', 217 | help='Load new line delimited targets from TargetFile', 218 | ) 219 | parser.add_argument( 220 | '-p', 221 | metavar='PROCESS', 222 | type=int, 223 | default=10, 224 | help='Number of processes running concurrently, 10 by default', 225 | ) 226 | parser.add_argument( 227 | '--force', action='store_true', help='Force to extract host from irregular Text' 228 | ) 229 | parser.add_argument('-v', action='version', 230 | version='%(prog)s 1.0 By xq17') 231 | 232 | if len(sys.argv) == 1: 233 | sys.argv.append('-h') 234 | args = parser.parse_args() 235 | check_args(args) 236 | return args 237 | 238 | 239 | def check_args(args): 240 | if not args.host and not args.f: 241 | msg = 'Args missing! --host baidu.com or -f host.txt not found' 242 | print(msg) 243 | exit(-1) 244 | 245 | if args.f and not os.path.isfile(args.f): 246 | print('TargetFile not found: {file}'.format(file=args.f)) 247 | 248 | 249 | def main(): 250 | args = parse_args() 251 | print('* MorePing v1.0 https://github.com/xq17/MorePing *') 252 | print('* preparing to generate task..... *') 253 | format_producer(args) 254 | target_count = task_queue.qsize() 255 | print('{} targets entered Queue.'.format(target_count)) 256 | thread_count = args.p 257 | print('Creating {} sub Processes...'.format(thread_count)) 258 | scan_process = [] 259 | print('Report thread running...') 260 | global STOP_THIS 261 | STOP_THIS = False 262 | 263 | threading.Thread(target=report_result).start() 264 | try: 265 | with alive_bar(target_count) as bar: 266 | for _ in range(thread_count): 267 | t = threading.Thread(target=consumer, args=(bar,), daemon=True) 268 | # t.setDaemon(true) 269 | t.start() 270 | scan_process.append(t) 271 | print('{} sub process successfully Running.'.format(thread_count)) 272 | for t in scan_process: 273 | t.join() 274 | except KeyboardInterrupt as e: 275 | time.sleep(0.5) 276 | print('[+] User aborted, sub scan processs exited..') 277 | 278 | except Exception as e: 279 | print('[__main__.exception]: {type} {error}'.format( 280 | type=type(e), error=e)) 281 | 282 | # output the result to file 283 | STOP_THIS = True 284 | time.sleep(1) 285 | 286 | 287 | if __name__ == '__main__': 288 | main() 289 | -------------------------------------------------------------------------------- /Test/requirements.txt: -------------------------------------------------------------------------------- 1 | about-time==3.1.1 2 | alive-progress==2.1.0 3 | certifi==2021.10.8 4 | charset-normalizer==2.0.10 5 | gevent==21.12.0 6 | grapheme==0.6.0 7 | greenlet==1.1.2 8 | idna==3.3 9 | requests==2.27.1 10 | urllib3==1.26.8 11 | zope.event==4.5.0 12 | zope.interface==5.4.0 13 | -------------------------------------------------------------------------------- /morePing.py: -------------------------------------------------------------------------------- 1 | #!/usr/bin/python3 2 | # -*- coding:utf-8 -*- 3 | 4 | from alive_progress import alive_bar 5 | from argparse import ArgumentParser, RawTextHelpFormatter 6 | import json 7 | import queue 8 | import gevent 9 | import threading 10 | import re 11 | import sys 12 | import os 13 | import time 14 | from gevent import monkey 15 | monkey.patch_all() 16 | import requests 17 | # global variables 18 | task_queue = queue.Queue() 19 | result_queue = queue.Queue() 20 | lock = threading.Lock() 21 | 22 | 23 | def report_result(): 24 | dirPath = './report' 25 | if not os.path.exists(dirPath): 26 | os.mkdir(dirPath) 27 | cdnHost = dirPath + '/' + 'cdnHost_' + \ 28 | time.strftime('%Y%m%d', time.localtime()) + '.txt' 29 | realHost = dirPath + '/' + 'realHost_' + \ 30 | time.strftime('%Y%m%d', time.localtime()) + '.txt' 31 | errorHost = dirPath + '/' + 'errorHost_' + \ 32 | time.strftime('%Y%m%d', time.localtime()) + '.txt' 33 | all_result = [] 34 | 35 | # handle output 36 | global STOP_THIS 37 | 38 | try: 39 | while not STOP_THIS: 40 | if result_queue.qsize() == 0: 41 | time.sleep(0.1) 42 | continue 43 | while result_queue.qsize() > 0: 44 | all_result.append(result_queue.get()) 45 | 46 | cdn_text = '' 47 | real_text = '' 48 | error_text = '' 49 | for item in all_result: 50 | if item['isCdn'] is True: 51 | cdn_text += item['host'] + '\n' 52 | cdn_text += 'ip:' + ','.join(list(item['ip'])) + '\n' 53 | elif item['isCdn'] is False: 54 | real_text += item['host'] + '\n' 55 | real_text += 'ip:' + ''.join(list(item['ip'])) + '\n' 56 | else: 57 | error_text += item['host'] + '\n' 58 | 59 | with open(cdnHost, 'w') as f1, open(realHost, 'w') as f2, open( 60 | errorHost, 'w' 61 | ) as f3: 62 | f1.write(cdn_text) 63 | f2.write(real_text) 64 | f3.write(error_text) 65 | 66 | if all_result: 67 | print( 68 | '[Scan report save to]:{c} {r} {e}'.format( 69 | c=cdnHost, r=realHost, e=errorHost 70 | ) 71 | ) 72 | else: 73 | print('[Error, result null]') 74 | 75 | except Exception as e: 76 | print('[Error Save Result Thread]: {}'.format(e)) 77 | sys.exit(-1) 78 | 79 | 80 | def format_producer(args): 81 | lines = [] 82 | if args.host: 83 | lines.append(args.host.strip()) 84 | 85 | if args.force and args.f: 86 | with open(args.f, 'r') as inFile: 87 | content = inFile.read() 88 | pattern = re.compile( 89 | r'([a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.[a-z]+?)\s' 90 | ) 91 | resList = pattern.findall(content) 92 | for h in resList: 93 | try: 94 | lines.append(list(h)[0]) 95 | except Exception as e: 96 | print('[Error Force Mode]:{}'.format(e)) 97 | 98 | elif args.f: 99 | with open(args.f, 'r') as inFile: 100 | lines += map(lambda x: x.strip(), inFile.readlines()) 101 | 102 | # duplicate removal 103 | lines = list(set(lines)) 104 | for host in lines: 105 | if host: 106 | task_queue.put(host) 107 | 108 | return True 109 | 110 | 111 | def consumer(bar): 112 | while True: 113 | try: 114 | target = task_queue.get(timeout=0.5) 115 | except: 116 | if task_queue.empty(): 117 | break 118 | 119 | thread_worker(target) 120 | # show the progress... 121 | lock.acquire() 122 | bar() 123 | lock.release() 124 | 125 | 126 | def get_nodes(host): 127 | req_url = 'https://wepcc.com:443/' 128 | req_headers = { 129 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'} 130 | param_body = { 131 | "host": host, 132 | "node": "1,2,3,4,5,6,7,8" 133 | } 134 | node_pattern = re.compile(r'data-id="(\w+?)"') 135 | try: 136 | req = requests.post(url=req_url, headers=req_headers, data=param_body) 137 | if req.status_code == 200: 138 | return node_pattern.findall(req.text) 139 | else: 140 | print(f"get_nodes Error:{status_code}") 141 | except Exception as e: 142 | print(e) 143 | return [] 144 | 145 | 146 | def thread_worker(host): 147 | nodes = get_nodes(host) 148 | my_set = set() 149 | try: 150 | jobs = [gevent.spawn(gevent_worker, host, node, my_set) 151 | for node in nodes] 152 | gevent.joinall(jobs, timeout=20) 153 | # print([job.value for job in jobs]) 154 | if my_set: 155 | isCdn = True if len(my_set) > 1 else False 156 | else: 157 | isCdn = 'Error' 158 | result = {'host': host, 'isCdn': isCdn, 'ip': my_set} 159 | print(result) 160 | # enter result to result_queue 161 | result_queue.put(result) 162 | 163 | except Exception as e: 164 | print('[Error Thread worker]: {}'.format(e)) 165 | 166 | 167 | def gevent_worker(host, node, my_set): 168 | req_url = 'https://wepcc.com:443/check-ping.html' 169 | req_headers = { 170 | 'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'} 171 | param_body = 'node={n}&host={h}'.format(n=node, h=host) 172 | try: 173 | req = requests.post(url=req_url, data=param_body, headers=req_headers) 174 | if req.status_code == 200: 175 | try: 176 | json_data = json.loads(req.content) 177 | if json_data.get("code") == 0: 178 | return False 179 | elif json_data.get("msg") == 'ok': 180 | ip = json_data['data']['Ip'] 181 | my_set.add(ip) 182 | return True 183 | else: 184 | print(f"{host}:{json_data.get('msg')}") 185 | return False 186 | except Exception as e: 187 | print('[Error Gevent Worker Parse {host} Json]: {error}'.format( 188 | host=host, error=e)) 189 | else: 190 | print(req.status_code) 191 | except Exception as e: 192 | print('[Main Error Gevent Worker]: {}'.format(e)) 193 | time.sleep(0.5) 194 | 195 | return False 196 | 197 | 198 | def parse_args(): 199 | parser = ArgumentParser( 200 | prog='morePing', 201 | formatter_class=RawTextHelpFormatter, 202 | description='* A cdn detector with high speed *\n', 203 | usage='morePing.py [options]', 204 | ) 205 | parser.add_argument( 206 | '--host', 207 | metavar='HOST', 208 | type=str, 209 | default='', 210 | help='Scan host from command line', 211 | ) 212 | parser.add_argument( 213 | '-f', 214 | metavar='TargetFile', 215 | type=str, 216 | default='', 217 | help='Load new line delimited targets from TargetFile', 218 | ) 219 | parser.add_argument( 220 | '-p', 221 | metavar='PROCESS', 222 | type=int, 223 | default=10, 224 | help='Number of processes running concurrently, 10 by default', 225 | ) 226 | parser.add_argument( 227 | '--force', action='store_true', help='Force to extract host from irregular Text' 228 | ) 229 | parser.add_argument('-v', action='version', 230 | version='%(prog)s 1.0 By xq17') 231 | 232 | if len(sys.argv) == 1: 233 | sys.argv.append('-h') 234 | args = parser.parse_args() 235 | check_args(args) 236 | return args 237 | 238 | 239 | def check_args(args): 240 | if not args.host and not args.f: 241 | msg = 'Args missing! --host baidu.com or -f host.txt not found' 242 | print(msg) 243 | exit(-1) 244 | 245 | if args.f and not os.path.isfile(args.f): 246 | print('TargetFile not found: {file}'.format(file=args.f)) 247 | 248 | 249 | def main(): 250 | args = parse_args() 251 | print('* MorePing v1.0 https://github.com/xq17/MorePing *') 252 | print('* preparing to generate task..... *') 253 | format_producer(args) 254 | target_count = task_queue.qsize() 255 | print('{} targets entered Queue.'.format(target_count)) 256 | thread_count = args.p 257 | print('Creating {} sub Processes...'.format(thread_count)) 258 | scan_process = [] 259 | print('Report thread running...') 260 | global STOP_THIS 261 | STOP_THIS = False 262 | 263 | threading.Thread(target=report_result).start() 264 | try: 265 | with alive_bar(target_count) as bar: 266 | for _ in range(thread_count): 267 | t = threading.Thread(target=consumer, args=(bar,), daemon=True) 268 | # t.setDaemon(true) 269 | t.start() 270 | scan_process.append(t) 271 | print('{} sub process successfully Running.'.format(thread_count)) 272 | for t in scan_process: 273 | t.join() 274 | except KeyboardInterrupt as e: 275 | time.sleep(0.5) 276 | print('[+] User aborted, sub scan processs exited..') 277 | 278 | except Exception as e: 279 | print('[__main__.exception]: {type} {error}'.format( 280 | type=type(e), error=e)) 281 | 282 | # output the result to file 283 | STOP_THIS = True 284 | time.sleep(1) 285 | 286 | 287 | if __name__ == '__main__': 288 | main() 289 | -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | about-time==3.1.1 2 | alive-progress==2.1.0 3 | certifi==2021.10.8 4 | charset-normalizer==2.0.10 5 | gevent==21.12.0 6 | grapheme==0.6.0 7 | greenlet==1.1.2 8 | idna==3.3 9 | requests==2.27.1 10 | urllib3==1.26.8 11 | zope.event==4.5.0 12 | zope.interface==5.4.0 13 | --------------------------------------------------------------------------------