ping uses the ICMP protocol's mandatory ECHO_REQUEST datagram to elicit an ICMP ECHO_RESPONSE from a host or gateway. ECHO_REQUEST datagrams (''pings'') have an IP and ICMP header, followed by a struct timeval and then an arbitrary number of ''pad'' bytes used to fill out the packet.
Usage: ping [OPTION...] HOST ...
Send ICMP ECHO_REQUEST packets to network hosts.
Options:
-v verbose output
-? give this help list
-q quiet output
-c<number> stop after sending <number> packets
--ttl<number> specify <number> as time-to-live
-W<number> wait <number> seconds for response
-i<number> wait <number> seconds between sending each packet# show leak bug
sudo valgrind --leak-check=full --show-leak-kinds=all ./ft_ping google.com
# suppression of leak bug
sudo valgrind --suppressions=dlopen.supp ./ft_ping google.comCrafting ICMP packet :
Identify error icmp packet:

