On 5/20/24 09:25, Shlomo Solomon wrote:
On Sun, 19 May 2024 23:17:13 +0300
guy keren <[email protected]> wrote:


the fact that traceroute works in this case while your python code
doesn't work in this case, suggests there is some at least one
scenario that your code doesn't handle, even though it could.

Thank you again.
I agree, but see the rest of my reply below

...


your refusal to look at the code of traceroute, and instead insisting
of "blaming the middle-man" and fixing the problem at their side,
strikes me as a bad example for your students. as a developer, i will
first try to verify i didn't miss some scenario or use-case, before
trying to pass the blame.

I asked for help and REALLY appreciate all the answers I got, but maybe
I was not clear enough so let me explain why your answer is CORRECT,
but in this case NOT helpful.

1 - As a teacher, I must follow the curriculum and in this case I am
teaching Python and Scapy and specifically ICMP, so looking at the code
of traceroute which is completely different does not help.
2 - I did not intend to blame the middle-man. I just wrote that the
code has worked for several years that I have been teaching and also
works when connecting via a different ISP (at school or a cell phone
hotspot). So the "logical" conclusion is that my ISP is blocking
something that was not blocked before and is not blocked by other ISPs.
3 - As I wrote a few minute ago, I found a virtual cloud solution and
this ALSO runs my code without any problem, so more evidence that my
ISP is blocking something that is usually not blocked.


i don't think you have a way to know what is "the usual" today, and what is not. as far as i know, the practice of blocking ICMP traffic for security purposes (as a means of avoiding some variants of DDOS attackes) by ISPs, is not that rare in the world. until today - you were simply lucky.

4 - I always make it clear to my students that the code they are
writing is not a replacement for traceroute - only a learning excercise.

so here you are, having a chance to teach your students a really important lesson about what makes a software product robust, that conventions in the world change every few years, and that they have a way of writing this code that'll be actually working - and you want to throw the opportunity away "because of the curriculum" - and instead indirectly teach your students that "the mechanism is important, not achieving the requirements of the software".




for the sake of your students, please re-consider this approach...

For the above reasons, I cannot change anything, but I do agree that
some students could potentially draw incorrect conclusions, so in my
next lesso, I will again explain that this was a learning exercise
about ICMP and not intened to be a fully working solution/replacement
for traceroute.

in your next lesson, you should open up the entire story, and tell them that when they will become real software developers in the future, they should learn it as a lesson about the importance of requirements over design choices. you have a chance to broaden their minds or to bog them down with procedures and curriculum. please don't chose the easy path - that way lie software developers that insist on not solving their customer's needs..

--guy

_______________________________________________
Linux-il mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to