0

I am currently sending a ICMP echo request using the IcmpSendEcho function. I am attempting to receive the request on another windows machine and then send back a specific reply depending on what the data received was.

I have read a few articles about ICMP tunneling, and looked through RFC 792 so I believe that it should be possible but I can't figure out how. Ideally I would be able to have a queue that all the ICMP requests get put in and then dealt with one by one. Any help just pointing me in the right direction would be fantastic because I am at a loss as to what to try next.

pchihak
  • 79
  • 1
  • 8
  • What is your current problem? Issue with the firewall? Issue with sending or receiving the packets? Have you checked with a packet sniffer? Or are you looking for code? Maybe some of your questions are answered here: https://stackoverflow.com/questions/626541/listen-for-icmp-packets-in-c-sharp – S. Huber Nov 05 '17 at 20:08
  • Sorry allow me to clarify. I am attempting to tunnel specific http requests through ICMP traffic using the data field in echo request and then send data back using echo reply data field. I can easily send the data however I cannot receive that data and therefore can not respond in the echo reply. What I am trying to figure out is if there is some way that I would be able to receive ICMP traffic, suppress the default reply, and instead send back my own reply. Hopefully that is more clear. – pchihak Nov 06 '17 at 14:59

1 Answers1

0

Here is what appears to be a C# implementation of ICMP tunneling. Since it looks like you're trying to do this using C++ in a Windows environment, perhaps this will at least point you in the right direction.

PriceHardman
  • 1,693
  • 1
  • 12
  • 14