How the heck does the 3DS networking...work?

Discussion in '3DS - Flashcards & Custom Firmwares' started by Algernop Krieger, Jul 6, 2013.

  1. Algernop Krieger
    OP

    Algernop Krieger Member

    Newcomer
    12
    3
    Jul 6, 2013
    United States
    (Wasn't sure if this belonged in WiFi or hacking...figured I'd throw it in hacking because of my analysis and methods so far.)

    I'm trying to solve the dreaded 018-0512 error for Animal Crossing. Threw my 3DS into DMZ, static IP, etc. No good...EXCEPT for one person.

    So I figured eh, what the hell, I'll run nmap while this one person is connected, might as well see what ports are open for future notes, right? For those unfamiliar, nmap lets me run a network scan of various devices to see what ports are open, what OS it's running, what services are being run, etc. Google it if you're interested, it's a real powerful tool.

    I run nmap; the command I used, specifically, is:

    nmap -vv -sT -p1-65535 192.168.x.x

    This runs a full TCP scan on every known port so far and makes the output ultra-verbose.

    You know what I get?

    Nothing.

    All 65535 scanned ports on 192.168.x.x are closed.

    So I'm guessing I flubbed something up, because I refuse to believe the 3DS doesn't open any TCP connections for hosting an Animal Crossing server. Either that, or it's doing...something to confuse nmap somehow, which would be both more advanced than I gave it credit for and also seriously more WTF-worthy.

    So, long story short: Nintendo, how does your networking even work?!
     
  2. PsyBlade

    PsyBlade Snake Charmer

    Member
    2,204
    256
    Jul 30, 2009
    Gambia, The
    Sol III
    There are other protocols that are run on top of IP.
    UDP for example. Its (imho) better suited to gaming anyway.
    Use e.g wireshark and take a look at the traffic.
     
  3. Algernop Krieger
    OP

    Algernop Krieger Member

    Newcomer
    12
    3
    Jul 6, 2013
    United States
    Oh, duh. I learned that last night and yeah, UDP is way better for games in general than TCP.

    So if I learned nothing else from this experiment, I learned something fundamental!

    (And that I'm an idiot and still have much to learn as a grasshopper.)

    Anyway, someone way more competent than me ran tcpdump on his router and got:

    01:09 < xxxx> srcport=57542, dstport=51930
    01:10 < xxxx> srcport=57542, dstport=52635

    He mentioned that the game ports were randomized, so I'm guessing 57542 is inbound from the Internet and 51930/52635 is the destination port on the 3DS itself.

    EDIT: Yeah, ran a wireshark myself. It pretty much picks random UDP ports, first querying what I'm guessing are the master sets of AC servers, then querying the other user itself.