{ "info": { "author": "Austin Jackson", "author_email": "vesche@protonmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 5 - Production/Stable", "Environment :: Console", "Intended Audience :: Information Technology", "License :: Public Domain", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.9", "Topic :: Security" ], "description": "# scanless\n\nThis is a Python 3 command-line utility and library for using websites that can perform port scans on your behalf.\n\n## Supported Online Port Scanners\n\n* [hackertarget](https://hackertarget.com/nmap-online-port-scanner/)\n* [ipfingerprints](http://www.ipfingerprints.com/portscan.php)\n* [spiderip](https://spiderip.com/online-port-scan.php)\n* [standingtech](https://portscanner.standingtech.com/)\n* [viewdns](http://viewdns.info/)\n* [yougetsignal](http://www.yougetsignal.com/tools/open-ports/)\n\n## Install\n\nDo it up:\n```\n$ pip install scanless --user\n```\n\n## CLI Usage\n\n```\n$ scanless --help \nusage: scanless [-h] [-v] [-t TARGET] [-s SCANNER] [-r] [-l] [-a]\n\nscanless, an online port scan scraper.\n\noptional arguments:\n -h, --help show this help message and exit\n -v, --version display the current version\n -t TARGET, --target TARGET\n ip or domain to scan\n -s SCANNER, --scanner SCANNER\n scanner to use (default: hackertarget)\n -r, --random use a random scanner\n -l, --list list scanners\n -a, --all use all the scanners\n -d, --debug debug mode (cli mode off & show network errors)\n\n$ scanless --list\n+----------------+--------------------------------------+\n| Scanner Name | Website |\n+----------------+--------------------------------------+\n| hackertarget | https://hackertarget.com |\n| ipfingerprints | https://www.ipfingerprints.com |\n| spiderip | https://spiderip.com |\n| standingtech | https://portscanner.standingtech.com |\n| viewdns | https://viewdns.info |\n| yougetsignal | https://www.yougetsignal.com |\n+----------------+--------------------------------------+\n\n$ scanless -t scanme.nmap.org -s spiderip\nRunning scanless v2.1.6...\n\nspiderip:\nPORT STATE SERVICE\n21/tcp closed ftp\n22/tcp open ssh\n25/tcp closed smtp\n80/tcp open http\n110/tcp closed pop3\n143/tcp closed imap\n443/tcp closed https\n465/tcp closed smtps\n993/tcp closed imaps\n995/tcp closed pop3s\n1433/tcp closed ms-sql-s\n3306/tcp closed mysql\n3389/tcp closed ms-wbt-server\n5900/tcp closed vnc\n8080/tcp closed http-proxy\n8443/tcp closed https-alt\n```\n\n## Library Usage\n\n```\n>>> import scanless\n>>> sl = scanless.Scanless()\n>>> output = sl.scan('scanme.nmap.org', scanner='hackertarget')\n>>> print(output['raw'])\nStarting Nmap 7.70 ( https://nmap.org ) at 2020-05-12 21:39 UTC\nNmap scan report for scanme.nmap.org (45.33.32.156)\nHost is up (0.065s latency).\nOther addresses for scanme.nmap.org (not scanned): 2600:3c01::f03c:91ff:fe18:bb2f\n\nPORT STATE SERVICE\n21/tcp closed ftp\n22/tcp open ssh\n80/tcp open http\n443/tcp closed https\n\nNmap done: 1 IP address (1 host up) scanned in 0.11 seconds\n>>> import json\n>>> print(json.dumps(output['parsed'], indent=2))\n[\n {\n \"port\": \"21\",\n \"state\": \"closed\",\n \"service\": \"ftp\",\n \"protocol\": \"tcp\"\n },\n {\n \"port\": \"22\",\n \"state\": \"open\",\n \"service\": \"ssh\",\n \"protocol\": \"tcp\"\n },\n {\n \"port\": \"80\",\n \"state\": \"open\",\n \"service\": \"http\",\n \"protocol\": \"tcp\"\n },\n {\n \"port\": \"443\",\n \"state\": \"closed\",\n \"service\": \"https\",\n \"protocol\": \"tcp\"\n }\n]\n```\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/vesche/scanless", "keywords": "", "license": "Unlicense", "maintainer": "", "maintainer_email": "", "name": "scanless", "package_url": "https://pypi.org/project/scanless/", "platform": "", "project_url": "https://pypi.org/project/scanless/", "project_urls": { "Homepage": "https://github.com/vesche/scanless" }, "release_url": "https://pypi.org/project/scanless/2.1.6/", "requires_dist": null, "requires_python": "", "summary": "An online port scan scraper.", "version": "2.1.6", "yanked": false, "yanked_reason": null }, "last_serial": 12832810, "releases": { "1.0.10": [ { "comment_text": "", "digests": { "md5": "1c8570d951db580fbe0eae928a06b7a4", "sha256": "18f8e256d7a01bb3d0b24a3ec741cdbd0a53faad33701fcdcae2c5473ba5b6f8" }, "downloads": -1, "filename": "scanless-1.0.10-py2-none-any.whl", "has_sig": false, "md5_digest": "1c8570d951db580fbe0eae928a06b7a4", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 9363, "upload_time": "2018-12-25T19:08:13", "upload_time_iso_8601": "2018-12-25T19:08:13.416682Z", "url": "https://files.pythonhosted.org/packages/c2/65/6f70d5e858c811f6a0b82ef294838bbf9589a4d28d517f962c1be7f049d0/scanless-1.0.10-py2-none-any.whl", "yanked": false, "yanked_reason": null }, { "comment_text": "", "digests": { "md5": "47c8c70291b88ec941731979bd7ad725", "sha256": "3e5e20e8311449fb7cbbbb31dc75495bdfcc958747e342c3b85522a9512d07e6" }, "downloads": -1, "filename": "scanless-1.0.10.tar.gz", "has_sig": false, "md5_digest": "47c8c70291b88ec941731979bd7ad725", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5364, "upload_time": "2018-12-25T19:08:15", "upload_time_iso_8601": "2018-12-25T19:08:15.149880Z", "url": "https://files.pythonhosted.org/packages/48/c0/434326388176cbec37284a2c4722cd427e2b5402db5ed4c25d062ffa6f83/scanless-1.0.10.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.4": [ { "comment_text": "", "digests": { "md5": "573f7ee2482b5febc51f2869238f85be", "sha256": "d14e047ec1ccbedaa3d2fab7737ff748840b56dd0c84625e3002bad47f58c65a" }, "downloads": -1, "filename": "scanless-1.0.4.tar.gz", "has_sig": false, "md5_digest": "573f7ee2482b5febc51f2869238f85be", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5415, "upload_time": "2017-05-17T22:05:18", "upload_time_iso_8601": "2017-05-17T22:05:18.479355Z", "url": "https://files.pythonhosted.org/packages/33/af/c25773a0866f6b353df6793eca993738a1afd32fb10a7107515f123abfe8/scanless-1.0.4.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.5": [ { "comment_text": "", "digests": { "md5": "7cce969a1f33b198f7e7cd65e14ca678", "sha256": "a06b2c4cd2e3a8ddb72a08616f0f331563ebc3ff36cc084c63b7122a49af944d" }, "downloads": -1, "filename": "scanless-1.0.5.tar.gz", "has_sig": false, "md5_digest": "7cce969a1f33b198f7e7cd65e14ca678", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3889, "upload_time": "2017-09-28T13:23:50", "upload_time_iso_8601": "2017-09-28T13:23:50.473895Z", "url": "https://files.pythonhosted.org/packages/57/68/f8b61feb5acd1377e7ca5700fb28f9cef0c5186214bd1200b802caa6bc94/scanless-1.0.5.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.6": [ { "comment_text": "", "digests": { "md5": "3a811e76c3bb2d4ff90201a1e7fcfcbf", "sha256": "661ad7504d497bdc5b6f9cd58fa55845d981df5db62fc94926ea45d82e7dc388" }, "downloads": -1, "filename": "scanless-1.0.6.tar.gz", "has_sig": false, "md5_digest": "3a811e76c3bb2d4ff90201a1e7fcfcbf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 3876, "upload_time": "2017-10-19T19:53:38", "upload_time_iso_8601": "2017-10-19T19:53:38.001825Z", "url": "https://files.pythonhosted.org/packages/da/81/09ab9e9d34dd62543131167636070f54e57f56741ad623da15e7a33b657c/scanless-1.0.6.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "d652e87b5071f5170bfa21dc5dcb58e9", "sha256": "1e9a8a89cc69bc647a02e7a53638501fadf55aa6bee9158b08052e08a01e9417" }, "downloads": -1, "filename": "scanless-1.0.7.tar.gz", "has_sig": false, "md5_digest": "d652e87b5071f5170bfa21dc5dcb58e9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5400, "upload_time": "2018-02-23T19:56:45", "upload_time_iso_8601": "2018-02-23T19:56:45.555158Z", "url": "https://files.pythonhosted.org/packages/4b/6f/3432c8498333be3e45071c8b658f4da01b8cd3948f0184c180ac0dc4567d/scanless-1.0.7.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "a6d615a8ac8ca61d3eef76c52fd6d68f", "sha256": "6d5eafaa86558ee30ac59c5cc03ae31996753752ab712770f4675d761ab48910" }, "downloads": -1, "filename": "scanless-1.0.8.tar.gz", "has_sig": false, "md5_digest": "a6d615a8ac8ca61d3eef76c52fd6d68f", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 5793, "upload_time": "2018-05-06T18:50:51", "upload_time_iso_8601": "2018-05-06T18:50:51.561319Z", "url": "https://files.pythonhosted.org/packages/4a/9c/95e6c4b95bf2e50682749637f4829339a90adffc8d7f8e3355856dd2d81d/scanless-1.0.8.tar.gz", "yanked": false, "yanked_reason": null } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "e56e2061edeecfa56de476eab9bcb45c", "sha256": "6aa4404deee02575b37399b8d823e06f160518ac076dd0fd3b2203d101706d80" }, "downloads": -1, "filename": "scanless-1.0.9.tar.gz", "has_sig": false, "md5_digest": "e56e2061edeecfa56de476eab9bcb45c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 4464, "upload_time": "2018-09-13T23:34:30", "upload_time_iso_8601": "2018-09-13T23:34:30.513066Z", "url": "https://files.pythonhosted.org/packages/92/60/067ebf6afa35c51bbb132a7415e9527e160130f7ed6123d9cbb95df8d564/scanless-1.0.9.tar.gz", "yanked": false, "yanked_reason": null } ], "2.0.0": [ { "comment_text": "", "digests": { "md5": "13913778730c18c1299fd014344f2266", "sha256": "ec077f9006eb470444f08befcc5aafc175dc6c36d23235c488e94dd60d9bd50e" }, "downloads": -1, "filename": "scanless-2.0.0.tar.gz", "has_sig": false, "md5_digest": "13913778730c18c1299fd014344f2266", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 213142, "upload_time": "2019-10-30T00:36:13", "upload_time_iso_8601": "2019-10-30T00:36:13.461054Z", "url": "https://files.pythonhosted.org/packages/61/d2/8eb478ab85e329216b29f64e7e19648cd961f14d5418a58ae2a02393b444/scanless-2.0.0.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.0": [ { "comment_text": "", "digests": { "md5": "4c415fd7e27858259c8ea029b498b941", "sha256": "f9fc2b18513c11e45a6dafac5a6cc579af3f0b4b0c6105ae604ae4c534027ca2" }, "downloads": -1, "filename": "scanless-2.1.0-py3.8.egg", "has_sig": false, "md5_digest": "4c415fd7e27858259c8ea029b498b941", "packagetype": "bdist_egg", "python_version": "3.8", "requires_python": null, "size": 222365, "upload_time": "2020-04-13T19:20:15", "upload_time_iso_8601": "2020-04-13T19:20:15.641136Z", "url": "https://files.pythonhosted.org/packages/ca/a1/049cf1bf93293b8b381a7b1c5ee3edfd258436098a657b04fed932b3697d/scanless-2.1.0-py3.8.egg", "yanked": false, "yanked_reason": null } ], "2.1.1": [ { "comment_text": "", "digests": { "md5": "9822b56f6cfe809c3bfbece7c7df9cab", "sha256": "bb429c711157d2964b3a48933c0c27b3f449150d6c38a3819adaa53b6576355a" }, "downloads": -1, "filename": "scanless-2.1.1.tar.gz", "has_sig": false, "md5_digest": "9822b56f6cfe809c3bfbece7c7df9cab", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 213879, "upload_time": "2020-05-12T22:08:01", "upload_time_iso_8601": "2020-05-12T22:08:01.760649Z", "url": "https://files.pythonhosted.org/packages/b5/8d/bee48a6b245fe25cc721f9de31fc1ae022cd861ff882980eeeea46362c3c/scanless-2.1.1.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.2": [ { "comment_text": "", "digests": { "md5": "54cdb83738788adee8ca5707c1e779f0", "sha256": "c6f6e2cebd57183e99b8d904fa57239a68a7ecb3927108ab6af7bfb0d96f2c64" }, "downloads": -1, "filename": "scanless-2.1.2.tar.gz", "has_sig": false, "md5_digest": "54cdb83738788adee8ca5707c1e779f0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 213822, "upload_time": "2020-06-03T17:22:08", "upload_time_iso_8601": "2020-06-03T17:22:08.582411Z", "url": "https://files.pythonhosted.org/packages/7b/b9/4dd0b9b38e385f2ef61f658283f1c181100d668bbbc2fb89f08f087ca71a/scanless-2.1.2.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.3": [ { "comment_text": "", "digests": { "md5": "919ada80c66688b4658568384f8398ff", "sha256": "71d9e76707ca9178667241f20fa27a66eabf5982b7fd700a9ce8bcb5db3a7546" }, "downloads": -1, "filename": "scanless-2.1.3.tar.gz", "has_sig": false, "md5_digest": "919ada80c66688b4658568384f8398ff", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 213817, "upload_time": "2020-06-27T18:52:05", "upload_time_iso_8601": "2020-06-27T18:52:05.031994Z", "url": "https://files.pythonhosted.org/packages/ef/74/2d301ad4fb2afd9cf1ed19f31208c8ec20ff06af61a3c26b2fc5d9ff0351/scanless-2.1.3.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.4": [ { "comment_text": "", "digests": { "md5": "b90f4776e2f447c0b83ff18ab4168236", "sha256": "c3ef11a2e72143d84995b8f9dd271d80ef72d4df2ed7fd311054e54089aa1946" }, "downloads": -1, "filename": "scanless-2.1.4.tar.gz", "has_sig": false, "md5_digest": "b90f4776e2f447c0b83ff18ab4168236", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 213824, "upload_time": "2020-11-09T15:45:36", "upload_time_iso_8601": "2020-11-09T15:45:36.881845Z", "url": "https://files.pythonhosted.org/packages/a2/9a/d4db42097a258f9ac72b104292fa7ee040c0f161f45d3ccde9163ffa00e2/scanless-2.1.4.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.5": [ { "comment_text": "", "digests": { "md5": "0861515175ed96630dd1f81383164876", "sha256": "28d1d3d6947a94660fac23747ae63d414e86028c9a6bd5929e068a180a68ad5c" }, "downloads": -1, "filename": "scanless-2.1.5.tar.gz", "has_sig": false, "md5_digest": "0861515175ed96630dd1f81383164876", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 216952, "upload_time": "2020-12-09T18:00:48", "upload_time_iso_8601": "2020-12-09T18:00:48.746141Z", "url": "https://files.pythonhosted.org/packages/31/04/9a7560c57aea320ee37c63f31af22679a26517ed7a5437168f646088deb6/scanless-2.1.5.tar.gz", "yanked": false, "yanked_reason": null } ], "2.1.6": [ { "comment_text": "", "digests": { "md5": "03c6a26e7f49472823713ab936e81023", "sha256": "7964a5976894b5b00ecb3a01933748ae662d7f5f3c7b21003fccecbe2ed4154b" }, "downloads": -1, "filename": "scanless-2.1.6.tar.gz", "has_sig": false, "md5_digest": "03c6a26e7f49472823713ab936e81023", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 215655, "upload_time": "2022-02-08T23:53:03", "upload_time_iso_8601": "2022-02-08T23:53:03.659756Z", "url": "https://files.pythonhosted.org/packages/44/0c/a397efb5777d22b49e92e009bc5907c96ac845ffa57d43e3356779c1954f/scanless-2.1.6.tar.gz", "yanked": false, "yanked_reason": null } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "03c6a26e7f49472823713ab936e81023", "sha256": "7964a5976894b5b00ecb3a01933748ae662d7f5f3c7b21003fccecbe2ed4154b" }, "downloads": -1, "filename": "scanless-2.1.6.tar.gz", "has_sig": false, "md5_digest": "03c6a26e7f49472823713ab936e81023", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 215655, "upload_time": "2022-02-08T23:53:03", "upload_time_iso_8601": "2022-02-08T23:53:03.659756Z", "url": "https://files.pythonhosted.org/packages/44/0c/a397efb5777d22b49e92e009bc5907c96ac845ffa57d43e3356779c1954f/scanless-2.1.6.tar.gz", "yanked": false, "yanked_reason": null } ], "vulnerabilities": [] }