• 0 Posts
  • 7 Comments
Joined 5 months ago
cake
Cake day: October 17th, 2025

help-circle
  • I’d start with some basic Linux networking and tools, if you don’t have them already.

    I don’t know if that’s the basics everyone knows these days, but… learn how TCP,UDP,ICMP,TLS relate, what a netmask is, what is ARP and MAC addresses. Fire up Wireshark and look around what is happening on your network. Learn some basic commands like ip -br -a and ss (or the older netstat) so you know how to figure out which program is listening where. Learn how to manually resolve a DNS name (dig or host). How tunnel a TCP connection or a webbrowser through ssh (port forwarding, SOCKS proxy). Learn enough of the HTTP protocol so you can manually enter a valid GET request over a simple TCP connection to port 80 with netcat or nc. Or use httpie or curl for the same purpose. You can’t host a lot with that knowledge, but it helps to figure out why things are not working.




  • Sounds like a networking exercise on its own.

    Do the attempted pings show up on the wire? (Switch LEDs, network card activity light.)

    Does broadcast work? (Watch if it is received with tcpdump -n on both Linux VMs, and Wireshark on the Windows hosts, while doing ping -b 10.0.0.255. Or trigger a broadcast ARP by ping-ing a non-existing IP in the same network. Those should go through all bridge and switch devices, independent of IPs and routing setup.)

    I think you need four distinct MAC addresses for this setup, are they all different?

    The network card/driver is filtering received unicast by MAC. I’m sure something should set up the filters correctly, but maybe it went wrong, or there is a bug in the driver. Wireshark on Windows should be able to enable promiscuous mode, which disables the filter.

    Side note: I don’t think you need a crossover cable. Auto-crossover should just work these days.

    At work I map a USB Ethernet device into my Linux VM when I do anything networking, exactly to avoid those kind of “is it Windows?” questions. Also, I can then check the Ethernet link at the lowest level using Linux tools like ip link or mii-tool or ethtool.

    I’m using VMWare for this, which I cannot recommend any more. (It used to be good for this, but gut much worse in recent years.) I think vanilla VirtualBox doesn’t allow to map USB devices.


  • Well the problem is trying to attach the concept of “done” to a bitstream. You can release it, but then the release is “done”, not the software. You can evaluate software only in a specific cultural context, where it can be useful or not. Software is more similar to a law than to a fabricated pencil. Laws are updated and re-interpreted as the culture around them evolves, and they are “done” when the culture is done.

    I like this quote:

    The more we see creative software engineering as monotonous ticket crunching instead of learning and experimentation, the more we compare producing software to building houses. With that analogy, you can only go wrong. (Niko Heikkilä)

    In other words, a factory product is “done” when it passes QA. You can try to apply the same productivity mentality to software (or to laws) but it just doesn’t make sense, because those are instructions how to do things, and not products to be consumed. It’s not a factory product, it’s a living cultural process.