Tunneling is a method of cyber attack that sends and receives malicious data over legitimate protocols like DNS, ICMP, SSH, HTTP, and HTTPS to make the data look innocent. DNS and ICMP tunneling encode payload data in DNS queries and responses or ICMP packets to avoid detection by intrusion detection systems. Tools like dnscat2 and icmpsh can be used to establish covert connections between remote computers using DNS or ICMP tunneling.