diff --git a/knowledge base/gnu userland/netcat.md b/knowledge base/gnu userland/netcat.md
new file mode 100644
index 0000000..f73cd5a
--- /dev/null
+++ b/knowledge base/gnu userland/netcat.md
@@ -0,0 +1,59 @@
+# Netcat
+
+> TODO
+
+Intro
+
+1. [TL;DR](#tldr)
+1. [Further readings](#further-readings)
+
+## TL;DR
+
+
+ Setup
+
+```sh
+brew install 'netcat'
+```
+
+
+
+
+ Usage
+
+```sh
+# Listen (server mode).
+netcat --listen --local-port '8080'
+nc -lp '8080'
+```
+
+
+
+
+
+## Further readings
+
+- [Website]
+- [Codebase]
+
+
+
+
+
+
+
+[Codebase]: https://sourceforge.net/p/netcat/code/HEAD/tree/
+[Website]: https://netcat.sourceforge.net/
+
+
diff --git a/knowledge base/netcat.md b/knowledge base/netcat.md
deleted file mode 100644
index ff7049c..0000000
--- a/knowledge base/netcat.md
+++ /dev/null
@@ -1,55 +0,0 @@
-# Netcat
-
-1. [TL;DR](#tldr)
-1. [Further readings](#further-readings)
- 1. [Sources](#sources)
-
-## TL;DR
-
-Options of interest:
-
-- `-N`: close the network socket when finished; not available in nmap's netcat
-- `-l`: bind to the port and listen for incoming connections (server mode)
-- `-n`: do not resolve hostnames via DNS
-- `-p`: specify the source port to use
-- `-t`: use telnet negotiation
-- `-u`: use UDP
-- `-v`: set verbosity level; can be used several times
-- `-w=SECS`: timeout for connects and final net reads, in seconds
-- `-z`: zero-I/O mode, exit once connected
-
-```sh
-# Install
-dnf install 'nmap-ncat'
-yum install 'nmap-ncat'
-
-# Check ports on hosts.
-nc -Nnvz 192.168.0.81 22-25
-nc -Nvz host.name 443
-nc -Nvz -u dns.server 123
-
-# List hosts with a specific port open.
-# But you might just want to use `nmap`.
-parallel -j 0 "nc -Nnvz -w 2 192.168.0.{} 22 2>&1" ::: {2..254} \
-| grep -v "timed out"
-
-# Wait for a host to be up.
-until nc -Nvz -w 3 pi.lan 22; do sleep 3; done
-
-# Listen mode.
-nc -l 5666
-```
-
-## Further readings
-
-### Sources
-
-- [How To use Netcat to establish and test TCP and UDP connections]
-
-
-
-
-[how to use netcat to establish and test tcp and udp connections]: https://www.digitalocean.com/community/tutorials/how-to-use-netcat-to-establish-and-test-tcp-and-udp-connections
diff --git a/knowledge base/nmap's netcat.md b/knowledge base/nmap's netcat.md
new file mode 100644
index 0000000..7740d77
--- /dev/null
+++ b/knowledge base/nmap's netcat.md
@@ -0,0 +1,59 @@
+# Nmap's netcat
+
+1. [TL;DR](#tldr)
+1. [Further readings](#further-readings)
+ 1. [Sources](#sources)
+
+## TL;DR
+
+Options of interest:
+
+| Option | Summary |
+| ------------------- | --------------------------------------------------------------------------------- |
+| `-l`, `--listen` | bind to the port given in input and listen for incoming connections (server mode) |
+| `-k`, `--keep-open` | accept multiple connections in listen mode |
+| `-n`, `--nodns` | do not resolve hostnames via DNS |
+| `-p` | specify the source port to use |
+| `-t` | use telnet negotiation |
+| `-u` | use UDP |
+| `-v` | set verbosity level; can be used several times |
+| `-w=SECS` | timeout for connects and final net reads, in seconds |
+| `-z` | zero-I/O mode, exit once connected |
+
+```sh
+# Install
+brew install 'nmap'
+dnf install 'nmap-ncat'
+yum install 'nmap-ncat'
+
+# Check ports on hosts.
+nc -Nnvz 192.168.0.81 22-25
+nc -Nvz host.name 443
+nc -Nvz -u dns.server 123
+
+# List hosts with a specific port open.
+# But you might just want to use `nmap`.
+parallel -j 0 "nc -Nnvz -w 2 192.168.0.{} 22 2>&1" ::: {2..254} \
+| grep -v "timed out"
+
+# Wait for a host to be up.
+until nc -Nvz -w 3 pi.lan 22; do sleep 3; done
+
+# Server mode.
+nc -l 5666
+nc -lk 8080
+```
+
+## Further readings
+
+### Sources
+
+- [How To use Netcat to establish and test TCP and UDP connections]
+
+
+
+
+[how to use netcat to establish and test tcp and udp connections]: https://www.digitalocean.com/community/tutorials/how-to-use-netcat-to-establish-and-test-tcp-and-udp-connections