Hades - A wrapper for NMAP written in Elixir
https://github.com/fklement/hades/tree/0.0.1-alpha
Example
Simple ping scan
The snippet below ping scans the network, and lists the target machine if it responds to ping.
iex> Hades.new_command()
...> |> Hades.add_argument(Hades.Arguments.ScanTechniques.arg_sP())
...> |> Hades.add_target("192.168.120.42")
...> |> Hades.scan()
12:19:25.739 [info] NMAP Output: "Starting Nmap 7.80 ( https://nmap.org ) at 2020-02-07 12:19 CET\n"
12:19:25.788 [info] NMAP Output: "Nmap scan report for Felix-MACNCHEESEPRO.root.box (192.168.120.42)\nHost is up (0.00045s latency).\n"
12:19:25.788 [info] NMAP Output: "Nmap done: 1 IP address (1 host up) scanned in 0.06 seconds\n"
12:19:25.789 [info] Port exit: :exit_status: 0
12:19:25.789 [info] EXIT
12:19:25.790 [info] DOWN message from port: #Port<0.14>
%{
hosts: [
%{hostname: "Felix-MACNCHEESEPRO.root.box", ip: "192.168.120.42", ports: []}
],
time: %{
elapsed: 0.06,
endstr: "Fri Feb 7 12:19:25 2020",
startstr: "Fri Feb 7 12:19:25 2020",
unix: 1581074365
}
}
Read next Schoolbus - Manage one or more PubSub instances using the Elixir registry