- written in C++, compiled and run on Arch Linux 5.6.3. See
writeup.md
for documentation and overview.- specifically,
g++ *.cpp *.h -Wall -std=c++14 -O3
- specifically,
- accept a hostname or IP address as terminal arguments
- send ICMP echo requests in an infinite loop
- report loss and rtt times
- support for ipv4 & 6
- nmap makes you throw a -6 flag
- allow to set TTL as an argument
- any additional features
- commands from ping
-a
audible ping-c
count, the amount of ping packets to send-D
print timestamps-h
help-m
mark-q
queit, only show output at the end-p
packet size-V
version
- ping ipv4 hosts
- listen for and filter responses
- support ipv6
- command line
- sanitization
- show help logs = [X] -q quiet
[ ] #ifdef if<linux/icmp.h>
and<linux/in.h>
are avaliable,<netinet/ip_icmp.h>
if not[ ] ncurses support ??- fix pid issue
- fix sendto and recvfrom
- reduce use of cstrings
- conform to c++ conventions (camel case)
- add data to packets
- impliment ttl for ipv6 packets
- allow ping for hostname
- track time for each packet
- support macOS compilation
- create man page
- exceptions (include errno and handle)
- print entire exception error
[ ] switch from icmp header to icmp packet- fix iterator issue
- infinite loop for unspecified iterations
[ ] checksum for ipv6- entire packet should be -s size not only the data
- correctly parse out from recv