https://github.com/dsgnr/portchecker
Python package to query the ports for a given hostname or IP address. Back-end script used at https://portchecker.io
https://github.com/dsgnr/portchecker
pip poetry python
Last synced: about 1 month ago
JSON representation
Python package to query the ports for a given hostname or IP address. Back-end script used at https://portchecker.io
- Host: GitHub
- URL: https://github.com/dsgnr/portchecker
- Owner: dsgnr
- License: mit
- Created: 2021-12-24T11:16:47.000Z (over 4 years ago)
- Default Branch: devel
- Last Pushed: 2022-01-12T21:41:11.000Z (over 4 years ago)
- Last Synced: 2026-02-08T10:46:44.292Z (4 months ago)
- Topics: pip, poetry, python
- Language: Python
- Homepage: https://portchecker.io
- Size: 27.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
Welcome to portcheckerio 👋


[](https://github.com/dsgnr/portchecker/blob/devel/LICENSE)
[](https://github.com/dsgnr/portchecker/actions/workflows/pytest.yml)
[](https://github.com/dsgnr/portchecker/actions/workflows/codeql-analysis.yml)
This repository is the counterpart script which ports [portchecker.io](https://portchecker.io)
This package is a nice alternative way to using tools like `nc` to query the port connectivity.
The main benefits is that it will work with hostnames,
IPv4 and IPv6 addresses (if your client has IPv6 of course).
You can also query multiple ports at the same time and receive a sweet JSON response.
## Installation
Portchecker can be installed from PyPI using `pip` or your package manager of choice:
```
pip install portcheckerio
```
## Usage
### CLI
You can use Portchecker as a CLI tool using the `portcheck` command.
Example:
```console
$ portcheck --host google.com --ports 443
{
"2a00:1450:4009:815::200e": {
"type": "ipv6",
"results": [
{
"port": 443,
"connectable": true
}
]
},
"172.217.16.238": {
"type": "ipv4",
"results": [
{
"port": 443,
"connectable": true
}
]
}
}
```
You can query multiple ports for a given host in the same command:
```console
$ portcheck --host google.com --ports 443 22
{
"172.217.16.238": {
"type": "ipv4",
"results": [
{
"port": 443,
"connectable": true
},
{
"port": 22,
"connectable": false
}
]
},
"2a00:1450:4009:815::200e": {
"type": "ipv6",
"results": [
{
"port": 443,
"connectable": true
},
{
"port": 22,
"connectable": false
}
]
}
}
```
## 📝 To Do
- [ ] Add more tests
- [ ] Add the option to query RFC1918 addresses
- [ ] Add the option to increase the timeout limit
### 🏠 [Homepage](https://portchecker.io)
### ✨ [Demo](https://portchecker.io)
## Author
👤 **Dan Hand**
* Website: https://danielhand.io
* Github: [@dsgnr](https://github.com/dsgnr)
## 🤝 Contributing
Contributions, issues and feature requests are welcome.
Feel free to check [issues page](https://github.com/dsgnr/portchecker.io/issues) if you want to contribute.
## Show your support
Give a ⭐️ if this project helped you!
Any donations to help the running of the site is hugely appreciated!
## 📝 License
Copyright © 2019 [Dan Hand](https://github.com/dsgnr).
This project is [MIT](https://github.com/kefranabg/readme-md-generator/blob/master/LICENSE) licensed.
---
***
_This README was generated with ❤️ by [readme-md-generator](https://github.com/kefranabg/readme-md-generator)_
