From 3aaf4ccb001de0991a92044cbba482e39500aebd Mon Sep 17 00:00:00 2001 From: unknown Date: Sun, 10 Oct 2021 12:08:32 -0400 Subject: [PATCH] Added Basic Port Scanner --- Projects/2-Intermediate/Basic-Port-Scanner.md | 33 +++++++++++++++++++ README.md | 5 +-- 2 files changed, 36 insertions(+), 2 deletions(-) create mode 100644 Projects/2-Intermediate/Basic-Port-Scanner.md diff --git a/Projects/2-Intermediate/Basic-Port-Scanner.md b/Projects/2-Intermediate/Basic-Port-Scanner.md new file mode 100644 index 00000000..190f9b73 --- /dev/null +++ b/Projects/2-Intermediate/Basic-Port-Scanner.md @@ -0,0 +1,33 @@ +# Basic Port Scanner + +**Tier:** 2-Intermediate + +Create a Basic TCP Port scanner which will identify open ports for a given IP Address and identify the service running on them. + +## User Stories + +- [ ] User can scan a chosen IP Address to reveal open ports on that specific IP Address. +- [ ] The scanner should be able to retrieve service information on the open ports (also known as banner grabbing). +- [ ] The output should look like the table below: + +| Ports | Service | Version | +|:---|:---|:---| +| 22/TCP | SSH | OpenSSH 7.4 | +| 80/TCP | HTTP | Nginx 1.14.0 | + +## Bonus features + +- [ ] Add hostname resolver for single IP scanning (e.g: example.com instead of 192.168.0.1). +- [ ] Add subnet scan feature to scan an entire subnet of IP Address with CIDR notation (192.168.0.1/24). +- [ ] Add multi-threading/multi-processes feature to speed up the scanning process. +- [ ] Add UDP port scanning feature on top of TCP. + +## Useful links and resources + +[Nmap - TCP Connect Scan](https://nmap.org/book/scan-methods-connect-scan.html) +[Nmap - UDP Scan](https://nmap.org/book/scan-methods-udp-scan.html) +[Python For Begginers](https://www.pythonforbeginners.com/code-snippets-source-code/port-scanner-in-python) + +## Example projects + +[Ripscan](https://github.com/b4keSn4ke/ripscan) diff --git a/README.md b/README.md index f6557617..02c5db38 100644 --- a/README.md +++ b/README.md @@ -83,13 +83,14 @@ required to complete them. | Name | Short Description | Tier | | --------------------------------------------------------------------------------- | -------------------------------------------------- | -------------- | +| [Basic Port Scanner](./Projects/2-Intermediate/Basic-Port-Scanner.md) | Scan open ports of a machine | 2-Intermediate | | [Bit Masks](./Projects/2-Intermediate/Bit-Masks-App.md) | Using Bit Masks for Conditions | 2-Intermediate | | [Book Finder App](./Projects/2-Intermediate/Book-Finder-App.md) | Search for books by multiple criteria | 2-Intermediate | -| [Calculator CLI](./Projects/2-Intermediate/Calculator-CLI.md) | Create a basic calculator cli. | 2-Intermediate | +| [Calculator CLI](./Projects/2-Intermediate/Calculator-CLI.md) | Create a basic calculator cli. | 2-Intermediate | | [Card Memory Game](./Projects/2-Intermediate/Card-Memory-Game.md) | Memorize and match hidden images | 2-Intermediate | | [Charity Finder App](./Projects/2-Intermediate/Charity-Finder-App.md) | Find a Global Charity to donate to | 2-Intermediate | | [Chrome Theme Extension](./Projects/2-Intermediate/Chrome-Theme-Extension.md) | Build your own chrome theme extention. | 2-Intermediate | -| [Currency Converter](./Projects/2-Intermediate/Currency-Converter.md) | Convert one currency to another. | 2-Intermediate | +| [Currency Converter](./Projects/2-Intermediate/Currency-Converter.md) | Convert one currency to another. | 2-Intermediate | | [Drawing App](./Projects/2-Intermediate/Drawing-App.md) | Create digital artwork on the web | 2-Intermediate | | [Emoji Translator App](./Projects/2-Intermediate/Emoji-Translator-App.md) | Translate sentences into Emoji | 2-Intermediate | | [Flashcards App](./Projects/2-Intermediate/FlashCards-App.md) | Review and test your knowledge through Flash Cards | 2-Intermediate |