JulianSchmid / etherparse

A rust library for parsing ethernet & ethernet using protocols.
Apache License 2.0
299 stars 53 forks source link

[Feature Request] ICMP #10

Closed washley closed 2 years ago

washley commented 4 years ago

Support for reading/writing ICMP would be helpful. There's an opportunity after that for helper methods to generate common ICMP packets, for example fragmentation needed and time exceeded.

man0lis commented 4 years ago

+1 I would love to see this. Currently I have to use other packet building crates in combination with etherparse to create ICMP packets. It would be nice to have the same ease of use I get from etherparse when generating ICMP packets.

JulianSchmid commented 4 years ago

+1 I would love to see this. Currently I have to use other packet building crates in combination with etherparse to create ICMP packets. It would be nice to have the same ease of use I get from etherparse when generating ICMP packets.

Hi,

I am thinking about it. What are the types of ICMP packets that would be most important for you?

Greets Julian

man0lis commented 4 years ago

Currently EchoRequest and EchoReply would be sufficient for me.

washley commented 4 years ago

Destination Unreachable is the most interesting one for me.

johalun commented 4 years ago

Came here looking for ICMP as well :)

vkrasnov commented 4 years ago

Hi, I would like to see ICMP support as well.

I can also implement and open a PR if you are willing to accept.

robs-zeynet commented 3 years ago

@JulianSchmid I'm looking for ICMP support as well... and am happy to try to implement it. If I submitted a patch/pull request, would you be willing to accept it (assuming the code wasn't too horrible)?

I was thinking of adding ICMP as another type of TransportHeader so it could be easily matched against Tcp/Udp/etc.- thoughts? Please let me know and thanks.

JulianSchmid commented 3 years ago

@robs-zeynet Sounds good, but I cannot guarantee that I will find time right away for a code review & merges. I have a bit of time the next few weeks and after that I will have to find time on the weekends. Which was difficult to find in 2020. But next year will (hopefully) be less stressful.

In the following weeks I will try to finally finish up https://github.com/JulianSchmid/etherparse/pull/13 after which I can finally rebase and merge https://github.com/JulianSchmid/etherparse/pull/11 .

cemeyer commented 3 years ago

I am thinking about it. What are the types of ICMP packets that would be most important for you?

Time Exceeded is useful as well (ICMP notification of reaching the TTL limit).