• onlinepersona@programming.dev
    link
    fedilink
    arrow-up
    16
    ·
    13 hours ago

    The problem with networking is debugging it. The worst is debugging iptables and nftables. Figuring out which chain they are going to is a massive hassle. How come we don’t have any graphical tools whatsoever for this work?

          • onlinepersona@programming.dev
            link
            fedilink
            English
            arrow-up
            1
            ·
            12 minutes ago

            Cisco Packet Tracer is a comprehensive networking simulation software tool for teaching and learning how to create network topologies and imitate modern computer networks.

            That’s for simulation. I don’t think it’s possible to analyse a running system to find trace packets as they go through the firewall.

            Cisco Packet Tracer is available for free to all Cisco Networking Academy instructors, students, and alumni. Sign up for our free Getting Started with Cisco Packet Tracer course to learn how to download, install, and get started.

            And it also requires a paid account to use.

    • printf("%s", name);@piefed.blahaj.zoneOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      12 hours ago

      As for iptables, doesn’t -j tell you where the packets are going? Or do you mean what their destination addresses and ports are? For that, on Linux, I use ss or lsof. I have never used it myself, but doesn’t ufw have some GUI?

      • onlinepersona@programming.dev
        link
        fedilink
        arrow-up
        4
        ·
        12 hours ago

        Reading the iptables dump is not for beginners. Far from it. A packet can go through all tables and chains or none. And allowing a packet in one chain then begs the questions which is the next table or chain. There are maybe 100 flags and nobody can memorise them all.

        Ufw just allows adding rules, ss doesn’t trace packages as they go through the firewall, it can show you open ports and established connections, but it can show you which tables and chains a packet went through. lsof is even more rudimentary than ss and literally means “list open files”. Since everything is a file in linux, that’s a lot of files. Again, no tracing.

        Somebody will say “just tcpdump”. Again, no that doesn’t trace which tables and chains a packet goes through. The entire firewall is a blackbox to tcpdump. At least to my knowledge. All it sees is which packets arrived and which were sent on the selected interfaces, and whether they was successful or not.

        Nothing I know of traces a packet through the firewall and presents in a TUI nor GUI. I know that it’s possible to make copies of packets and send then to custom chains that can log the chain and packet it came from. There might even be a way of generating a trace by adding a rule to a chain, which means adding it to every chain, but I’m not sure I’ve seen something do that.

        • printf("%s", name);@piefed.blahaj.zoneOP
          link
          fedilink
          English
          arrow-up
          5
          ·
          12 hours ago

          I digress. The documentation on iptables alone is an arduous read at best and requires dedication to get through and to understand. With that said, while you “cannot” (loosely said) follow any one singular packet from an iptables listing, using tcpdump will at least let you know wherefrom it connections originate and where they are terminating. Again, it is a hard read, not very beginner friendly, but I think it is also enough for the majority of threat models.

          Question: does the person that feels that reading and understand iptables listings and tcpdumps really need to know - through an easy to read/understand UI - what chains and tables any one specific packet has traversed? What scenario/threat model/situation would that be? I’m all for discussing and widening my point of view, so don’t hold back! 😊

          • onlinepersona@programming.dev
            link
            fedilink
            English
            arrow-up
            2
            ·
            9 hours ago

            Regarding your question, I’ve had trouble multiple times with docker (and other software) that required trying to find out just where a packet was getting stuck. The worst thing is when you open a port in the container to 0.0.0.0, send a request to it (HTTP, telnet, or otherwise) from the host via the container’s IP and the packet doesn’t arrive. Then you have to run through the gamut of:

            • are the interfaces up?
            • is it the IP address that’s wrong?
            • is the the port wrong?
            • is the network mask correct?
            • is the gateway IP correct?
            • is the firewall somehow interfering?

            There might be other things I’m missing, but once I get to the firewall stage, most of the time I just give up, put the service into a VM and try accessing it from there - if I really really care. Otherwise, I drop it and move on.

            I did just find this Network address translation part 1 – packet tracing which allows tracing a packet through the firewall via xtables-monitor. It’s in my notes now, so if I run into the problem again, I might have a place to start next time.

            But still, that’s just on my machine. Once things happen on the network and there are routers and other things involved, it’s very difficult for me to debug.

  • Goldholz @lemmy.blahaj.zone
    link
    fedilink
    arrow-up
    16
    arrow-down
    1
    ·
    16 hours ago

    And my boss shattering all with mean comments. Not letting me explain my code but still tearing it all down, removing all security features like checking for directory existing, connection is open aso. and then saying im not qualified for the job! Good thing i got already laid off. Bad that i’ll still have to spend 3 months at this company

    • printf("%s", name);@piefed.blahaj.zoneOP
      link
      fedilink
      English
      arrow-up
      6
      ·
      16 hours ago

      I’m so sorry about your job. :(

      Do you mean that you were trying to write network conscious/safe code and your boss disagreed and laid you off for that reason?

      • Goldholz @lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        4
        ·
        15 hours ago

        No. This whole laying off story is bigger and longer Shortly said. Last year i did a project, alone, for a customer. I didn’t know that the version i gave him for review, was supposed to be the finished polished version. For me it was the rough work that he could have a look at, if the UI and functions roughly are as he expected them and whether he wants other changes. That brought the stone rolling.

        Then the best friend of the only senior dev in this small company got into the position of team lead. There he constantly changed things up but i thought yeah what ever i write the texts differently. That was in december 2025. But the big issues then came in january and stronger in february. He bickered at how i named my variables, saying they werent accurate, leaving classes empty (just like the structure he build up was and i wanted to emulate it because i thought ‘well it got to have a reason why he did it that way’). For example the variable for a list for a table of employee time entries i called “employeesheet”. He marked it as completely wrong and that this isnt appropriate, giving as example that one of the translation of the word into german is “time note” and i should rather call it just “employeecollection”. I argued, that it does fit because sheet also can be used for a listing and this not being a collection could lead to confusion with wrongful expectations and this is only being a list to be displayed and printed. And asked for better clarification why he thinks that would be a better name. I never got that. Note that all other classes and lists were called “sheet” and not “collection” He also was constantly passiv aggressiv and i cant even recall all of it because its some time ago and lot has happened since then. During a “meeting” to clarify things. He got loud, mad and angry that the bosses didnt read the emails he send them complaining about me. This person had a history and i wasnt the first to be feeling his power tripp. Another collegue felt it at the same time and one even before it. We went to the bosses. This was all due to unclear communication. I even offered to write them a manial on how to phrase things so i understand it better. Got told it was not neccessary. I did it anyways after senior developer asked in an email exchange between me and the ass-leader

        Then i was tasked to do a version 2.0 for that customer project. Alone. As the project began i was on the verge of ending up on the street and had to juggle housing search, my grandma (and mother figure) being diagnosed with end stage Thyroid cancer and my dad suddenly landing in hospital due to a huge cepsis. Due to all that stress i oversaw something major for the project. That i then ofc admitted to be my fault and worked hard to fix it all. Then i noticed (after having done this fix just in time) that without telling me this project got given to the senior developer instead.

        What a motivation booster. At the time i also got told (end of june) that i’ll be laid off due to the financial situation. But in the case for the states approval (im 50% disabled meaning they have to get the states approval first) they stated “lack of skills for the position” as reason. In my statement i wrote how it all went down and that it was not due to lack of skill but due to stress in private that i oversaw that thing for the project.

        Then the last few weeks i got tasked to programm something for a technologie which hasnt been in use since the 90s! And therefor ofc barely any documentation. I programmed it all regardless to the best of my abilities, having never interacted with Paradox (.px) database files or Oracle OR Borland Software before. Did it all dynamic, as i was taught in traite school, how i was always told to do things, even here). This still somehow was wrong lol. The safety things were: check that the repository exists before calling it. If not exists create it. Before trying to send a SQL Query to the Database, check that the connection is established and open.

        Both i got told (along with gas lighting that apperently the call i had with my boss last friday according to him didnt happen) were unnecessary because “the folder will always be there”. I told him “nobody can gurantie that!”. He told me to shut up. I did for the rest of the call. He used the word “clone files” not “copy files” which in my book are 2 different things. And then got upset that i didnt copy the files but created new once from the templates. He treated me litterly like i never programmed. Didnt give me a few minutes to find the connections and how i arranged the methods, in the code i didnt touch in a week. It’s all so frustrating.

        And yes they were aware from before they hired me that i have adhd and autism

        • luciferofastora@feddit.org
          link
          fedilink
          arrow-up
          3
          ·
          13 hours ago

          The whole thing is obviously fucked up, but one thing that stuck out to me was this:

          one of the translation of the word into german is “time note”

          Technical names being oriented around specific localisations are one of my pet peeves. Particularly when I’m trying to explain something to an international colleague who doesn’t speak German and can’t find the relevant, unintuitively named objects. Bonus points when the name itself is in German.

          The safety things were: check that the repository exists before calling it. If not exists create it.

          I could see an argument here, depending on your business context, that a missing repository shouldn’t be a “silent” fail in order to catch potential data entry errors. If the assumption is that the folder will always be there, it might be worthwhile to throw if that assumption turns out to be false.

          I had a “silent” fail logic built into one of my products that ended up heavily distorting the results when it eventually turned out that the input data was heavily skewed due to sloppy human work.

          Of course, given the general situation, I assume that your solution was sensible in your case. The response of “shut up” doesn’t exactly sound like “there is a good reason we want this to fail if it isn’t there”.

          Before trying to send a SQL Query to the Database, check that the connection is established and open.

          Uhhhhh… So, like, basic SQL connection handling? And they took issue with that?

          If ever anyone brings up the stereotype of Germans being hyper-accurate to the point of being anal, I think that company is the counterexample.

          • Goldholz @lemmy.blahaj.zone
            link
            fedilink
            arrow-up
            1
            ·
            10 hours ago

            technical names

            We are a german company with only german customers. That variable name wouldnt have shown up anywhere

            fail check In that directory are .DB and .PX files which it is supposed to connect to or with another function, clone them to a curtain directory of the users choice. Now i doubt i need to elaborate on where the problem could be if the directory path of the user doesnt exist.

            sql connection Yes

            AND NOW THERE IS EVEN MORE! Just as i wrote the earlier comment i got more FUN interactions with my boss :D

            Told him these files seem to be damaged or faulty in some way. They cant be accessed via SQL querys. No select, no alter table, no drop, no delete, nothing! So i spend the entire yesterday afternoon trying to firgure out what the issue could be. My boss doesnt belief they are corrupt (which i never said. I just put it as a possibility) because a Paradox file reader programmed with C++ can read them. Then he went on an angry writing about how dare i test with similar files with which i tested the functions so faar because it is easier to see changes in a 3 row table, than a 2374 row table. And rejected the idea these files could be different versions. Then i broke a bit, litterly showed him that they are 3 different paradox versions and told him that “i must be halucinating it all just the same as the meeting” I got this as a reply: “Please keep communication technical.” Instead of making the version selection dynamic, i got told to hard code it all. So: making 3 DIFFERENT CONNECTION STRINGS!!! AND 3 DIFFERENT EXTRA INSTANCES FOR ALL OF THEM!! On one hand they laid me off for not enought skills, now they get mad i am constantly keeping everything dynamic and in accordance with basic coding principles! Mind you, he told me to hard code the versions and the entire connection string in the first place! And instead of drawing the entire connection string from the registry, only the directorys path from there.

            I replied this:

            “sure yes you can hard code everything. You’d just go against basic coding conventions. The way i am being treated is making it hard staying technical. Even when the versions are being hard coded it doesnt resolve the problems with the files. But like you demand i wont say anything anymore and try magic to fix these files.”

            It is REEEAALLY hard for me not to tell him to fuck off or march out of the office

            My boss’ reply:

            “CREATE A CONNECTION. NOTHING ELSE”

            I didnt know i spoke mandarin! I must be, because NO WHERE did i say i cannot create a connection to these files!

            So i wrote 2 whole things, explaining all analytical steps i took and again that i didnt say i can not connect to the files but the files cant be altered Connection: yes Query: no

            They do want to make me go crazy, im telling you!!! I am SO glad now that i got kicked. Idk why SUDDENLY this is happening. My assumption is that he, due to that snake collegue, views me of a dumb idiot and so ofc naturally antagonises me in his mind and treats me automaticly in this manner now.

            I wish they’d put me on leave like i asked when i got told i get laid off.

            Sorry but this can not NOT be on accident this behaviour. It frustrates me so much the fact i litterly gave them an instruction manual on how i need to be communicated with and it got just ignored. I knew from beginning of this whole sharad, they only play as if it were a fair decision making and chance of me not being laid off.

            This company, and i know it, leaves me wanting to from now on build even less friendly ties to collegues of future companies

            • luciferofastora@feddit.org
              link
              fedilink
              arrow-up
              1
              ·
              9 hours ago

              “sure yes you can hard code everything. You’d just go against basic coding conventions. The way i am being treated is making it hard staying technical. Even when the versions are being hard coded it doesnt resolve the problems with the files. But like you demand i wont say anything anymore and try magic to fix these files.”

              So i wrote 2 whole things, explaining all analytical steps i took and again that i didnt say i can not connect to the files but the files cant be altered Connection: yes Query: no

              From my own autistic experience, people tend to get irritated when I try to explain my reasoning or analytical steps too much. At some point, you just have to accept that they’re not gonna get it.

              When I’ve had a similar situation (much less hostile, thankfully), I just implemented it as told, documented it and let it break to show them why it wasn’t working. They took me seriously after that.

              But also, when you’re on the way out anyway, don’t put too much effort into doing things “right”. You don’t owe them competence. They already think you’re incompetent. If they want you to add tech debt, that’s the most legitimate way to take revenge.

              I wish they’d put me on leave like i asked when i got told i get laid off.

              Honestly, it’s very reckless of them to not do so. I know we had an incident where a laid-off colleague (well, contract didn’t get extended, but the result is the same) pulled some nasty shit on his last day. Management learned from that and the next time they had to fire someone, they first revoked all access, then had them surrender all company devices and wipe company data off their private devices with security watching, then put them on leave for the rest of the contract. Just safer that way.

              (This is not an encouragement to take any revenge on them. That might land you in legal trouble. But you can’t get in trouble for doing exactly what they tell you to. If their instructions are stupid, that’s not your problem.)

              This company, and i know it, leaves me wanting to from now on build even less friendly ties to collegues of future companies

              I think the difficult part is figuring out which of your colleagues are worth building ties with. I have some that I’m friendly with, some I’m more “professional”, some I pull a face when I see their message pop up and put off reading it for as long as I can.

              Some companies are shit. Not all of them are.

              • Goldholz @lemmy.blahaj.zone
                link
                fedilink
                arrow-up
                1
                ·
                2 hours ago

                You are right.

                And dw i am not that type of asshole to destroy stuff. I know it will get me in trouble. But too bad for me i am not the type of person to stand silent for misstreatment and have a strong “honor” code. As soon as i have the review letter (Arbeitszeugnis) in hand, i have nothing to loose and will let loose.

                I’ve given up being take seriousely and am now just learning this old tech for possible future encounters.

                And working on privat projects on company time while i dont hear from them.

                But i really apprecheate your input. Its releaving to always have hard encounters of people going threw or went threw similair.

      • Goldholz @lemmy.blahaj.zone
        link
        fedilink
        arrow-up
        4
        arrow-down
        1
        ·
        15 hours ago

        No. This whole laying off story is bigger and longer Shortly said. Last year i did a project, alone, for a customer. I didn’t know that the version i gave him for review, was supposed to be the finished polished version. For me it was the rough work that he could have a look at, if the UI and functions roughly are as he expected them and whether he wants other changes. That brought the stone rolling.

        Then the best friend of the only senior dev in this small company got into the position of team lead. There he constantly changed things up but i thought yeah what ever i write the texts differently. That was in december 2025. But the big issues then came in january and stronger in february. He bickered at how i named my variables, saying they werent accurate, leaving classes empty (just like the structure he build up was and i wanted to emulate it because i thought ‘well it got to have a reason why he did it that way’). For example the variable for a list for a table of employee time entries i called “employeesheet”. He marked it as completely wrong and that this isnt appropriate, giving as example that one of the translation of the word into german is “time note” and i should rather call it just “employeecollection”. I argued, that it does fit because sheet also can be used for a listing and this not being a collection could lead to confusion with wrongful expectations and this is only being a list to be displayed and printed. And asked for better clarification why he thinks that would be a better name. I never got that. Note that all other classes and lists were called “sheet” and not “collection” He also was constantly passiv aggressiv and i cant even recall all of it because its some time ago and lot has happened since then. During a “meeting” to clarify things. He got loud, mad and angry that the bosses didnt read the emails he send them complaining about me. This person had a history and i wasnt the first to be feeling his power tripp. Another collegue felt it at the same time and one even before it. We went to the bosses. This was all due to unclear communication. I even offered to write them a manial on how to phrase things so i understand it better. Got told it was not neccessary. I did it anyways after senior developer asked in an email exchange between me and the ass-leader

        Then i was tasked to do a version 2.0 for that customer project. Alone. As the project began i was on the verge of ending up on the street and had to juggle housing search, my grandma (and mother figure) being diagnosed with end stage Thyroid cancer and my dad suddenly landing in hospital due to a huge cepsis. Due to all that stress i oversaw something major for the project. That i then ofc admitted to be my fault and worked hard to fix it all. Then i noticed (after having done this fix just in time) that without telling me this project got given to the senior developer instead.

        What a motivation booster. At the time i also got told (end of june) that i’ll be laid off due to the financial situation. But in the case for the states approval (im 50% disabled meaning they have to get the states approval first) they stated “lack of skills for the position” as reason. In my statement i wrote how it all went down and that it was not due to lack of skill but due to stress in private that i oversaw that thing for the project.

        Then the last few weeks i got tasked to programm something for a technologie which hasnt been in use since the 90s! And therefor ofc barely any documentation. I programmed it all regardless to the best of my abilities, having never interacted with Paradox (.px) database files or Oracle OR Borland Software before. Did it all dynamic, as i was taught in traite school, how i was always told to do things, even here). This still somehow was wrong lol. The safety things were: check that the repository exists before calling it. If not exists create it. Before trying to send a SQL Query to the Database, check that the connection is established and open.

        Both i got told (along with gas lighting that apperently the call i had with my boss last friday according to him didnt happen) were unnecessary because “the folder will always be there”. I told him “nobody can gurantie that!”. He told me to shut up. I did for the rest of the call. He used the word “clone files” not “copy files” which in my book are 2 different things. And then got upset that i didnt copy the files but created new once from the templates. He treated me litterly like i never programmed. Didnt give me a few minutes to find the connections and how i arranged the methods, in the code i didnt touch in a week. It’s all so frustrating.

        And yes they were aware from before they hired me that i have adhd and autism

  • Scoopta@programming.dev
    link
    fedilink
    arrow-up
    6
    ·
    16 hours ago

    I may actually be the other way around. I’m probably better at networking than programming? Not sure, I love them both but do neither professionally.

  • partial_accumen@lemmy.world
    link
    fedilink
    arrow-up
    58
    ·
    1 day ago

    If it helps, I’m from the other side of networking and infra. You could swap the labels and make the meme accurate for me.

    In the mid 1980s I learn the BASIC programming command GOTO and fell in love for a lifetime. If you look any anything I used to write in Ruby script or today in Python you’ll see my love affair with “if” “elfi” and “else” continues. My universe is nested “if” statements all the way down.

      • OpenStars@discuss.online
        link
        fedilink
        English
        arrow-up
        2
        ·
        7 hours ago

        This seems geared more towards programming languages like C++, whereas in scripting such as BASH it seems to me like it absolutely would get to be a mess to have so many functions, particularly those called only once (either total for the execution of the entire program or within the context of being inside another function, so once per function).

        I am curious now what would Linus Torvalds say about that?

      • chicken@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        6
        arrow-down
        3
        ·
        20 hours ago

        Early returns seems good, but personally I find code more confusing when things get arbitrarily separated out into functions, because to read it you have to keep scrolling back and forth between different parts of the page and either remembering where the other part is or typing a lot with ctrl-f, there’s more variables to hold results, and if the section of code to be separated into a function is picked just because of nesting depth reasons then it’s likely the function name isn’t going to describe what it does very clearly, leading to more scrolling and more having to keep track of things in your head.

        • MonkderVierte@lemmy.zip
          link
          fedilink
          arrow-up
          2
          ·
          13 hours ago

          I’ve had this too. It was cured by being forced to work with Java and enhance a PHP-framework. Dear god, the php-framework.
          But it literally increased my mental “stack size”. My shell and python scripts also got better.

          Ah, and also keep the “do one thing and do it good” tenet also to functions.

          • chicken@lemmy.dbzer0.com
            link
            fedilink
            arrow-up
            3
            ·
            17 hours ago

            How? I’m using vscodium. There are right click menus that bring you to function definitions and uses, but that isn’t necessarily faster than scrolling around and is still way more friction and more stuff you can’t see to hold in your short term memory.

            IDEs also have collapse/expand features which make nested or longer functions easier to navigate.

            • wols@lemmy.zip
              link
              fedilink
              arrow-up
              4
              ·
              15 hours ago

              In a decent IDE you can CTRL+click (or similar) on a function name to go to its definition. This is absolutely faster than scrolling, especially if you’ve got more than a couple dozen lines in the current file.

              When splitting functionality into smaller functions you would ideally not have to keep implementation details of other functions in short term memory.
              You only need to understand/remember the contents of the current function. Does it do what the name suggests? Cool, you’re done checking it.

              Of course, the “2 hard problems in computer science” meme exists for a reason - it’s not always straight forward to come up with good names. But in my experience, even when coming up with a fitting name is difficult, reducing nesting usually helps a lot with comprehension, mainly because it reduces scope and thereby the amount of information you need to hold in your head.
              The larger a function gets, the harder it is to check that it does what it’s supposed to.

              There is of course a balance to strike - trying to force every single function to be at most 3 lines is likely to make the code more difficult to understand and is, in my eyes, almost pathological. But a function that covers more than a screen is the other extreme that should be avoided when practical.

          • partial_accumen@lemmy.world
            link
            fedilink
            arrow-up
            2
            ·
            8 hours ago

            I remember one of the hardest transitions for me from scripting in Ruby to Python was the whitespace indent was larger by default in Python. With Python, I ran out of monitor width and would have to be constantly scrolling right and left when visually parsing the code because the nested loops were so deep.

    • Zos_Kia@jlai.lu
      link
      fedilink
      arrow-up
      7
      ·
      23 hours ago

      It was fashionable at a time to avoid ifs and other imperative structures, but I tend to like them. Functional is nice and all but I like my code to be smart in the way it works, not in the way it’s written. Nested ifs are readable, collapsible, and easy to make sense of at a glance, there’s often nothing wrong with using them.

    • otacon239@lemmy.world
      link
      fedilink
      arrow-up
      5
      ·
      1 day ago

      Same here! I can put together a half-descent network in just a few hours, but even programming simple stuff on microcontrollers is a major endeavor. And the documentation is usually terrible or nonexistent. And the tutorials are usually barely able to cover basic questions. At least in the space of networking, there’s enough context clues in the UI that I can piece together the solution I need.

      • iegod@lemmy.zip
        link
        fedilink
        arrow-up
        1
        ·
        10 hours ago

        I’d argue programming for micros is an order of magnitude more involved than say a simple linux or windows terminal app. The former requires actual understanding of the architecture, chipset, features, instructions, interfaces, on and on… The latter has such advanced tool chains readily available you dont need to think about any of that.

    • db2@lemmy.world
      link
      fedilink
      arrow-up
      5
      arrow-down
      1
      ·
      24 hours ago

      My universe is nested “if” statements all the way down

      Also known as AI 🤣

  • naught101@lemmy.world
    link
    fedilink
    arrow-up
    24
    arrow-down
    1
    ·
    23 hours ago

    I was like this 5 years ago. Networking a lot is still effort for me, but it is just another learnable skill, and it has lots of benefits (depending on your aims, I guess)

    Edit: hah, just realised this is about connecting computers, not about talking to people…

  • OwOarchist@pawb.social
    link
    fedilink
    English
    arrow-up
    11
    arrow-down
    1
    ·
    1 day ago

    I’ve enabled all the relevant permissions. I’ve disabled firewall protection. I’ve enabled file sharing on both sides. I’ve checked for connectivity to the other machine from the command line…

    Why is my shared folder still not accessible!??!

  • slacktoid@lemmy.ml
    link
    fedilink
    English
    arrow-up
    7
    ·
    23 hours ago

    My confidence in disk management and partition tables is made of horse hair, single strand.

  • uen3@sh.itjust.works
    link
    fedilink
    arrow-up
    10
    ·
    1 day ago

    That’s why I decided to build my first online multi-player game as an offline single-player game, and just figure out how to add the networking stuff when everything else is done- an architectural choice I definitely won’t come to regret later…

    • nymnympseudonym@piefed.social
      link
      fedilink
      English
      arrow-up
      10
      ·
      1 day ago

      Still doesn’t help with things like understanding routing and subnet masks and frame sizes and jfc how does any of this work

      • floquant@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        3
        ·
        edit-2
        23 hours ago

        Of course not, but I’ve found that seeing the protocols in action and looking at real headers can be very helpful in making them click. Understanding DHCP or ARP or mDNS or BGP or whatever is much easier by inspecting a pcap than it is by reading RFCs

    • ohshit604@lemmy.halstead.host
      link
      fedilink
      arrow-up
      4
      ·
      1 day ago

      As someone who understands the concept of network but has never professionally entered the field, i assume this just dumps a TCP packet to be inspected, correct?

      • floquant@lemmy.dbzer0.com
        link
        fedilink
        arrow-up
        3
        ·
        23 hours ago

        Yes, but before I used it I assumed that its scope was pretty much limited to what you just mentioned. Instead it can operate on most protocols both above and below layer 4, and it is incredibly useful as a traffic capture tool to produce a .pcap on a remote headless machine which you can then load into Wireshark. The “dump” part is the interesting one, not the “tcp” ;)

        • ohshit604@lemmy.halstead.host
          link
          fedilink
          arrow-up
          1
          ·
          1 day ago

          Thank you for the affirmation, I got reverse proxies and certificates relatively down, however I am struggling to understand headers and their purposes, I know Mozilla has great documentation regarding headers but lately I’ve gotten lazy, haha.

          • floquant@lemmy.dbzer0.com
            link
            fedilink
            arrow-up
            2
            ·
            23 hours ago

            HTTP headers or headers in general? For the former I suggest Burp Suite to inspect and manipulate headers to see how things change, for the latter tcpdump/wireshark, to supplement your theory reading :)

    • printf("%s", name);@piefed.blahaj.zoneOP
      link
      fedilink
      English
      arrow-up
      2
      ·
      1 day ago

      Thanks! I started with Wireshark, settled on tcpdump for a while and now I’m too busy learning electrical engineering to give any fucks at all. 🤣 Nah but seriously, tcpdump gave me lots of insight! :)