Question on buffer size for tracert
Hello, I previously used the program without issues on another network with version 1.18. Today on a more complex (and probably worse configured) network I couldn't use the tool (tried both version 1.18 and 1.19.1) because tracert was failing on all the first 5 hosts (timed out) whereas windows's own tracert.exe was working as usual.
I looked in the code and I cannot understand why the buffer size in Tracert.cs is set to 0 bytes. I set it to 32 ( based on this thread) and started getting responses.
edit
Same happens for the normal pings, I had to change all buffer sizes in the project to 32 bytes and now it works like a charm! I still think this might be related to my pc/network configuration, therefore I am waiting for feedback on the matter before sending a pull request.
The "buffer" is just a payload to be sent along with all pings. PingTracer has always just used an empty payload buffer in order to save data per ping.
I have some questions:
- On your affected system, using a 0-byte payload buffer, is PingTracer not able to get any replies at all? Even if the Trace Route option is disabled?
- Does a smaller buffer size work? E.g. 1 byte, 2 bytes, 4 bytes, instead of 32 bytes?
I'd like maximum compatibility but not outright wastefulness by sending larger pings than are necessary.
I've coded in a setting for the buffer size, so no pull request will be necessary, but I'd like to understand the issue a little better before deciding what the default should be, and whether the setting in the options panel should be a checkbox, dropdown list, number input, or if it should just not be in the options panel at all.
The "buffer" is just a payload to be sent along with all pings. PingTracer has always just used an empty payload buffer in order to save data per ping.
I have some questions:
1. On your affected system, using a 0-byte payload buffer, is PingTracer not able to get any replies at all? Even if the Trace Route option is disabled? 2. Does a smaller buffer size work? E.g. 1 byte, 2 bytes, 4 bytes, instead of 32 bytes?I'd like maximum compatibility but not outright wastefulness by sending larger pings than are necessary.
-
I don't get any response at all even by disabling traceroute, to make it work I had to change all buffers in the project.
-
I put a property to change the size quickly for all buffers and it seems that it has to be >= than 18 bytes.
I've coded in a setting for the buffer size, so no pull request will be necessary, but I'd like to understand the issue a little better before deciding what the default should be, and whether the setting in the options panel should be a checkbox, dropdown list, number input, or if it should just not be in the options panel at all.
That was fast! I think a good way could be when all the traceroute trials fail change the buffer size or prompt the user to try that, because right now it looks like this:
Obviously it is not pinging anyone.