Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ipfs while mostly idle generates ~2GB/day of mDNS traffic #8695

Closed
3 tasks done
codyps opened this issue Jan 22, 2022 · 6 comments
Closed
3 tasks done

ipfs while mostly idle generates ~2GB/day of mDNS traffic #8695

codyps opened this issue Jan 22, 2022 · 6 comments
Assignees
Labels
kind/bug A bug in existing code (including security flaws) need/analysis Needs further analysis before proceeding P2 Medium: Good to have, but can wait until someone steps up

Comments

@codyps
Copy link

codyps commented Jan 22, 2022

Checklist

Installation method

ipfs-desktop

Version

go-ipfs version: 0.11.0
Repo version: 11
System version: amd64/windows
Golang version: go1.16.12

Config

{
  "API": {
    "HTTPHeaders": {}
  },
  "Addresses": {
    "API": "/ip4/127.0.0.1/tcp/5001",
    "Announce": [],
    "Gateway": "/ip4/127.0.0.1/tcp/8080",
    "NoAnnounce": [],
    "Swarm": [
      "/ip4/0.0.0.0/tcp/4001",
      "/ip6/::/tcp/4001",
      "/ip4/0.0.0.0/udp/4001/quic",
      "/ip6/::/udp/4001/quic"
    ]
  },
  "AutoNAT": {},
  "Bootstrap": [
    "/dnsaddr/bootstrap.libp2p.io/p2p/QmNnooDu7bfjPFoTZYxMNLWUQJyrVwtbZg5gBMjTezGAJN",
    "/dnsaddr/bootstrap.libp2p.io/p2p/QmQCU2EcMqAqQPR2i9bChDtGNJchTbq5TbXJJ16u19uLTa",
    "/dnsaddr/bootstrap.libp2p.io/p2p/QmbLHAnMoJPWSCR5Zhtx6BHJX9KiKNN6tpvbUcqanj75Nb",
    "/dnsaddr/bootstrap.libp2p.io/p2p/QmcZf59bWwK5XFi76CZX8cbJ4BhTzzA3gU1ZjYZcYW3dwt",
    "/ip4/104.131.131.82/tcp/4001/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ",
    "/ip4/104.131.131.82/udp/4001/quic/p2p/QmaCpDMGvV2BGHeYERUEnRQAwe3N8SzbUtfsmvsqQLuvuJ"
  ],
  "DNS": {
    "Resolvers": {}
  },
  "Datastore": {
    "BloomFilterSize": 0,
    "GCPeriod": "1h",
    "HashOnRead": false,
    "Spec": {
      "mounts": [
        {
          "child": {
            "path": "blocks",
            "shardFunc": "/repo/flatfs/shard/v1/next-to-last/2",
            "sync": true,
            "type": "flatfs"
          },
          "mountpoint": "/blocks",
          "prefix": "flatfs.datastore",
          "type": "measure"
        },
        {
          "child": {
            "compression": "none",
            "path": "datastore",
            "type": "levelds"
          },
          "mountpoint": "/",
          "prefix": "leveldb.datastore",
          "type": "measure"
        }
      ],
      "type": "mount"
    },
    "StorageGCWatermark": 90,
    "StorageMax": "10GB"
  },
  "Discovery": {
    "MDNS": {
      "Enabled": true,
      "Interval": 10
    }
  },
  "Experimental": {
    "AcceleratedDHTClient": false,
    "FilestoreEnabled": false,
    "GraphsyncEnabled": false,
    "Libp2pStreamMounting": false,
    "P2pHttpProxy": false,
    "ShardingEnabled": false,
    "StrategicProviding": false,
    "UrlstoreEnabled": false
  },
  "Gateway": {
    "APICommands": [],
    "HTTPHeaders": {
      "Access-Control-Allow-Headers": [
        "X-Requested-With",
        "Range",
        "User-Agent"
      ],
      "Access-Control-Allow-Methods": [
        "GET"
      ],
      "Access-Control-Allow-Origin": [
        "*"
      ]
    },
    "NoDNSLink": false,
    "NoFetch": false,
    "PathPrefixes": [],
    "PublicGateways": null,
    "RootRedirect": "",
    "Writable": false
  },
  "Identity": {
    "PeerID": "12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC"
  },
  "Ipns": {
    "RecordLifetime": "",
    "RepublishPeriod": "",
    "ResolveCacheSize": 128
  },
  "Migration": {
    "DownloadSources": [],
    "Keep": ""
  },
  "Mounts": {
    "FuseAllowOther": false,
    "IPFS": "/ipfs",
    "IPNS": "/ipns"
  },
  "Peering": {
    "Peers": null
  },
  "Pinning": {
    "RemoteServices": {}
  },
  "Plugins": {
    "Plugins": null
  },
  "Provider": {
    "Strategy": ""
  },
  "Pubsub": {
    "DisableSigning": false,
    "Router": ""
  },
  "Reprovider": {
    "Interval": "12h",
    "Strategy": "all"
  },
  "Routing": {
    "Type": "dht"
  },
  "Swarm": {
    "AddrFilters": null,
    "ConnMgr": {
      "GracePeriod": "300s",
      "HighWater": 300,
      "LowWater": 50,
      "Type": "basic"
    },
    "DisableBandwidthMetrics": false,
    "DisableNatPortMap": false,
    "EnableAutoRelay": false,
    "EnableRelayHop": false,
    "Transports": {
      "Multiplexers": {},
      "Network": {},
      "Security": {}
    }
  }
}

Description

A few days ago, I started running GlassWire to observe general trends in network usage. Right now it shows ipfs.exe as utilizing 1.9 GB of data over the past day in purely mDNS traffic (ipfs also has the highest network utilization overall on this system. An additional 2.5 GB of traffic is categorized as "Other" by GlassWire). The recv and send amounts are balanced here, so it does appear that this is not simply caused by large amounts of mDNS traffic on my local network.

I captured, with wireshark, the ipv4 traffic on this machine that was sourced from the machine itself and was mDNS traffic.

It appeared the machine (unable to definitively isolate this to ipfs) was sending various queries ("QM" question) for named hosts and a service discovery query for _ipfs-discovery._udp.local (this one almost certainly generated by ipfs).
Then, ever 60 seconds, a large, identical, query response was broadcast 66 times in close succession. Here's an example summary from wireshark (I have the full content if useful) of 3 packets, 2 from one grouping of 66 retransmits, and 1 from the next. Click the arrow to expand them.

packet 1, group 1: 1007613 781.041374 192.168.6.137 224.0.0.251 MDNS 619 Standard query response 0xb81c PTR jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local SRV 0 0 4001 jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local TXT A 100.100.231.29 AAAA fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d
Frame 1007613: 619 bytes on wire (4952 bits), 619 bytes captured (4952 bits) on interface \Device\NPF_{3405B813-CB29-4F44-99F3-62518241F14B}, id 0
Ethernet II, Src: Micro-St_b1:3a:b8 (4c:cc:6a:b1:3a:b8), Dst: IPv4mcast_fb (01:00:5e:00:00:fb)
Internet Protocol Version 4, Src: 192.168.6.137, Dst: 224.0.0.251
    0100 .... = Version: 4
    .... 0101 = Header Length: 20 bytes (5)
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
    Total Length: 605
    Identification: 0xa159 (41305)
    Flags: 0x02
    ...1 0111 0010 0000 = Fragment Offset: 5920
    Time to Live: 1
    Protocol: UDP (17)
    Header Checksum: 0x0000 [validation disabled]
    [Header checksum status: Unverified]
    Source Address: 192.168.6.137
    Destination Address: 224.0.0.251
    [5 IPv4 Fragments (6505 bytes): #1007609(1480), #1007610(1480), #1007611(1480), #1007612(1480), #1007613(585)]
User Datagram Protocol, Src Port: 5353, Dst Port: 5353
    Source Port: 5353
    Destination Port: 5353
    Length: 6505
    Checksum: 0x4eaa [unverified]
    [Checksum Status: Unverified]
    [Stream index: 156]
    [Timestamps]
    UDP payload (6497 bytes)
Multicast Domain Name System (response)
    Transaction ID: 0xb81c
    Flags: 0x8400 Standard query response, No error
    Questions: 0
    Answer RRs: 1
    Authority RRs: 0
    Additional RRs: 4
    Answers
        _p2p._udp.local: type PTR, class IN, jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local
            Name: _p2p._udp.local
            Type: PTR (domain name PoinTeR) (12)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 3200 (53 minutes, 20 seconds)
            Data length: 63
            Domain Name: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local
    Additional records
        jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local: type SRV, class IN, priority 0, weight 0, port 4001, target jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local
            Service: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc
            Protocol: _p2p
            Name: _udp.local
            Type: SRV (Server Selection) (33)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 3200 (53 minutes, 20 seconds)
            Data length: 74
            Priority: 0
            Weight: 0
            Port: 4001
            Target: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local
        jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local: type TXT, class IN
            Name: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local
            Type: TXT (Text strings) (16)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 3200 (53 minutes, 20 seconds)
            Data length: 6253
            TXT Length: 93
            TXT: dnsaddr=/ip4/100.100.231.29/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 91
            TXT: dnsaddr=/ip4/172.22.208.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 92
            TXT: dnsaddr=/ip4/192.168.6.137/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 91
            TXT: dnsaddr=/ip4/192.168.56.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 91
            TXT: dnsaddr=/ip4/169.254.39.6/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 93
            TXT: dnsaddr=/ip4/169.254.95.170/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 93
            TXT: dnsaddr=/ip4/169.254.137.21/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 93
            TXT: dnsaddr=/ip4/169.254.95.199/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 92
            TXT: dnsaddr=/ip4/169.254.5.203/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 92
            TXT: dnsaddr=/ip4/192.168.127.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 91
            TXT: dnsaddr=/ip4/192.168.42.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 88
            TXT: dnsaddr=/ip4/127.0.0.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:5041:ff6d:b6d6:e2fe/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84::137/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:5041:ff6d:b6d6:e2fe/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 117
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:1864:8fc0:b677:680/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:45aa:da51:429e:7d3c/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:501d:2c24:2671:c8dd/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:75b4:a6ab:dd7d:6205/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 117
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:cd89:d910:6f7a:91f/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:f56e:104f:5a58:f8c0/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 114
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:1864:8fc0:b677:680/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:45aa:da51:429e:7d3c/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:501d:2c24:2671:c8dd/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:75b4:a6ab:dd7d:6205/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 114
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:cd89:d910:6f7a:91f/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:f56e:104f:5a58:f8c0/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 82
            TXT: dnsaddr=/ip6/::1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip4/100.100.231.29/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 96
            TXT: dnsaddr=/ip4/172.22.208.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 97
            TXT: dnsaddr=/ip4/192.168.6.137/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 96
            TXT: dnsaddr=/ip4/192.168.56.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 96
            TXT: dnsaddr=/ip4/169.254.39.6/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip4/169.254.95.170/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip4/169.254.137.21/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip4/169.254.95.199/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 97
            TXT: dnsaddr=/ip4/169.254.5.203/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 97
            TXT: dnsaddr=/ip4/192.168.127.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 96
            TXT: dnsaddr=/ip4/192.168.42.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 93
            TXT: dnsaddr=/ip4/127.0.0.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:5041:ff6d:b6d6:e2fe/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 103
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84::137/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:5041:ff6d:b6d6:e2fe/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 122
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:1864:8fc0:b677:680/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:45aa:da51:429e:7d3c/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:501d:2c24:2671:c8dd/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:75b4:a6ab:dd7d:6205/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 122
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:cd89:d910:6f7a:91f/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:f56e:104f:5a58:f8c0/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 119
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:1864:8fc0:b677:680/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:45aa:da51:429e:7d3c/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:501d:2c24:2671:c8dd/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:75b4:a6ab:dd7d:6205/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 119
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:cd89:d910:6f7a:91f/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:f56e:104f:5a58:f8c0/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 87
            TXT: dnsaddr=/ip6/::1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
        jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local: type A, class IN, addr 100.100.231.29
            Name: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local
            Type: A (Host Address) (1)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 120 (2 minutes)
            Data length: 4
            Address: 100.100.231.29
        jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local: type AAAA, class IN, addr fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d
            Name: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local
            Type: AAAA (IPv6 Address) (28)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 120 (2 minutes)
            Data length: 16
            AAAA Address: fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d
    [Request In: 1007563]
    [Time: 0.001476000 seconds]

packet 2, group 1: 1007618 781.041664 192.168.6.137 224.0.0.251 MDNS 619 Standard query response 0xb81c PTR jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local SRV 0 0 4001 jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local TXT A 100.100.231.29 AAAA fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d
Frame 1007618: 619 bytes on wire (4952 bits), 619 bytes captured (4952 bits) on interface \Device\NPF_{3405B813-CB29-4F44-99F3-62518241F14B}, id 0
Ethernet II, Src: Micro-St_b1:3a:b8 (4c:cc:6a:b1:3a:b8), Dst: IPv4mcast_fb (01:00:5e:00:00:fb)
Internet Protocol Version 4, Src: 192.168.6.137, Dst: 224.0.0.251
    0100 .... = Version: 4
    .... 0101 = Header Length: 20 bytes (5)
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
    Total Length: 605
    Identification: 0xa15a (41306)
    Flags: 0x02
    ...1 0111 0010 0000 = Fragment Offset: 5920
    Time to Live: 1
    Protocol: UDP (17)
    Header Checksum: 0x0000 [validation disabled]
    [Header checksum status: Unverified]
    Source Address: 192.168.6.137
    Destination Address: 224.0.0.251
    [5 IPv4 Fragments (6505 bytes): #1007614(1480), #1007615(1480), #1007616(1480), #1007617(1480), #1007618(585)]
User Datagram Protocol, Src Port: 5353, Dst Port: 5353
    Source Port: 5353
    Destination Port: 5353
    Length: 6505
    Checksum: 0x4eaa [unverified]
    [Checksum Status: Unverified]
    [Stream index: 156]
    [Timestamps]
    UDP payload (6497 bytes)
Multicast Domain Name System (response)
    Transaction ID: 0xb81c
    Flags: 0x8400 Standard query response, No error
    Questions: 0
    Answer RRs: 1
    Authority RRs: 0
    Additional RRs: 4
    Answers
        _p2p._udp.local: type PTR, class IN, jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local
            Name: _p2p._udp.local
            Type: PTR (domain name PoinTeR) (12)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 3200 (53 minutes, 20 seconds)
            Data length: 63
            Domain Name: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local
    Additional records
        jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local: type SRV, class IN, priority 0, weight 0, port 4001, target jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local
            Service: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc
            Protocol: _p2p
            Name: _udp.local
            Type: SRV (Server Selection) (33)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 3200 (53 minutes, 20 seconds)
            Data length: 74
            Priority: 0
            Weight: 0
            Port: 4001
            Target: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local
        jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local: type TXT, class IN
            Name: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local
            Type: TXT (Text strings) (16)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 3200 (53 minutes, 20 seconds)
            Data length: 6253
            TXT Length: 93
            TXT: dnsaddr=/ip4/100.100.231.29/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 91
            TXT: dnsaddr=/ip4/172.22.208.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 92
            TXT: dnsaddr=/ip4/192.168.6.137/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 91
            TXT: dnsaddr=/ip4/192.168.56.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 91
            TXT: dnsaddr=/ip4/169.254.39.6/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 93
            TXT: dnsaddr=/ip4/169.254.95.170/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 93
            TXT: dnsaddr=/ip4/169.254.137.21/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 93
            TXT: dnsaddr=/ip4/169.254.95.199/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 92
            TXT: dnsaddr=/ip4/169.254.5.203/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 92
            TXT: dnsaddr=/ip4/192.168.127.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 91
            TXT: dnsaddr=/ip4/192.168.42.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 88
            TXT: dnsaddr=/ip4/127.0.0.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:5041:ff6d:b6d6:e2fe/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84::137/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:5041:ff6d:b6d6:e2fe/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 117
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:1864:8fc0:b677:680/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:45aa:da51:429e:7d3c/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:501d:2c24:2671:c8dd/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:75b4:a6ab:dd7d:6205/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 117
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:cd89:d910:6f7a:91f/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:f56e:104f:5a58:f8c0/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 114
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:1864:8fc0:b677:680/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:45aa:da51:429e:7d3c/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:501d:2c24:2671:c8dd/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:75b4:a6ab:dd7d:6205/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 114
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:cd89:d910:6f7a:91f/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:f56e:104f:5a58:f8c0/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 82
            TXT: dnsaddr=/ip6/::1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip4/100.100.231.29/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 96
            TXT: dnsaddr=/ip4/172.22.208.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 97
            TXT: dnsaddr=/ip4/192.168.6.137/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 96
            TXT: dnsaddr=/ip4/192.168.56.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 96
            TXT: dnsaddr=/ip4/169.254.39.6/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip4/169.254.95.170/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip4/169.254.137.21/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip4/169.254.95.199/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 97
            TXT: dnsaddr=/ip4/169.254.5.203/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 97
            TXT: dnsaddr=/ip4/192.168.127.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 96
            TXT: dnsaddr=/ip4/192.168.42.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 93
            TXT: dnsaddr=/ip4/127.0.0.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:5041:ff6d:b6d6:e2fe/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 103
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84::137/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:5041:ff6d:b6d6:e2fe/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 122
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:1864:8fc0:b677:680/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:45aa:da51:429e:7d3c/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:501d:2c24:2671:c8dd/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:75b4:a6ab:dd7d:6205/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 122
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:cd89:d910:6f7a:91f/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:f56e:104f:5a58:f8c0/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 119
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:1864:8fc0:b677:680/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:45aa:da51:429e:7d3c/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:501d:2c24:2671:c8dd/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:75b4:a6ab:dd7d:6205/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 119
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:cd89:d910:6f7a:91f/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:f56e:104f:5a58:f8c0/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 87
            TXT: dnsaddr=/ip6/::1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
        jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local: type A, class IN, addr 100.100.231.29
            Name: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local
            Type: A (Host Address) (1)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 120 (2 minutes)
            Data length: 4
            Address: 100.100.231.29
        jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local: type AAAA, class IN, addr fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d
            Name: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local
            Type: AAAA (IPv6 Address) (28)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 120 (2 minutes)
            Data length: 16
            AAAA Address: fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d
    [Retransmitted response. Original response in: 1007613]
    [Retransmission: True]
packet 1, group 2: 1043235 841.044920 192.168.6.137 224.0.0.251 MDNS 619 Standard query response 0x0f0d PTR jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local SRV 0 0 4001 jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local TXT A 100.100.231.29 AAAA fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d
Frame 1043235: 619 bytes on wire (4952 bits), 619 bytes captured (4952 bits) on interface \Device\NPF_{3405B813-CB29-4F44-99F3-62518241F14B}, id 0
Ethernet II, Src: Micro-St_b1:3a:b8 (4c:cc:6a:b1:3a:b8), Dst: IPv4mcast_fb (01:00:5e:00:00:fb)
Internet Protocol Version 4, Src: 192.168.6.137, Dst: 224.0.0.251
    0100 .... = Version: 4
    .... 0101 = Header Length: 20 bytes (5)
    Differentiated Services Field: 0x00 (DSCP: CS0, ECN: Not-ECT)
    Total Length: 605
    Identification: 0xa1b4 (41396)
    Flags: 0x02
    ...1 0111 0010 0000 = Fragment Offset: 5920
    Time to Live: 1
    Protocol: UDP (17)
    Header Checksum: 0x0000 [validation disabled]
    [Header checksum status: Unverified]
    Source Address: 192.168.6.137
    Destination Address: 224.0.0.251
    [5 IPv4 Fragments (6505 bytes): #1043231(1480), #1043232(1480), #1043233(1480), #1043234(1480), #1043235(585)]
User Datagram Protocol, Src Port: 5353, Dst Port: 5353
    Source Port: 5353
    Destination Port: 5353
    Length: 6505
    Checksum: 0xf7b9 [unverified]
    [Checksum Status: Unverified]
    [Stream index: 156]
    [Timestamps]
    UDP payload (6497 bytes)
Multicast Domain Name System (response)
    Transaction ID: 0x0f0d
    Flags: 0x8400 Standard query response, No error
    Questions: 0
    Answer RRs: 1
    Authority RRs: 0
    Additional RRs: 4
    Answers
        _p2p._udp.local: type PTR, class IN, jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local
            Name: _p2p._udp.local
            Type: PTR (domain name PoinTeR) (12)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 3200 (53 minutes, 20 seconds)
            Data length: 63
            Domain Name: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local
    Additional records
        jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local: type SRV, class IN, priority 0, weight 0, port 4001, target jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local
            Service: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc
            Protocol: _p2p
            Name: _udp.local
            Type: SRV (Server Selection) (33)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 3200 (53 minutes, 20 seconds)
            Data length: 74
            Priority: 0
            Weight: 0
            Port: 4001
            Target: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local
        jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local: type TXT, class IN
            Name: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc._p2p._udp.local
            Type: TXT (Text strings) (16)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 3200 (53 minutes, 20 seconds)
            Data length: 6253
            TXT Length: 93
            TXT: dnsaddr=/ip4/100.100.231.29/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 91
            TXT: dnsaddr=/ip4/172.22.208.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 92
            TXT: dnsaddr=/ip4/192.168.6.137/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 91
            TXT: dnsaddr=/ip4/192.168.56.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 91
            TXT: dnsaddr=/ip4/169.254.39.6/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 93
            TXT: dnsaddr=/ip4/169.254.95.170/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 93
            TXT: dnsaddr=/ip4/169.254.137.21/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 93
            TXT: dnsaddr=/ip4/169.254.95.199/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 92
            TXT: dnsaddr=/ip4/169.254.5.203/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 92
            TXT: dnsaddr=/ip4/192.168.127.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 91
            TXT: dnsaddr=/ip4/192.168.42.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 88
            TXT: dnsaddr=/ip4/127.0.0.1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:5041:ff6d:b6d6:e2fe/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84::137/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:5041:ff6d:b6d6:e2fe/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 117
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:1864:8fc0:b677:680/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:45aa:da51:429e:7d3c/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:501d:2c24:2671:c8dd/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:75b4:a6ab:dd7d:6205/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 117
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:cd89:d910:6f7a:91f/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 118
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:f56e:104f:5a58:f8c0/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 114
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:1864:8fc0:b677:680/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:45aa:da51:429e:7d3c/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:501d:2c24:2671:c8dd/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:75b4:a6ab:dd7d:6205/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 114
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:cd89:d910:6f7a:91f/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 115
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:f56e:104f:5a58:f8c0/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 82
            TXT: dnsaddr=/ip6/::1/tcp/4001/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip4/100.100.231.29/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 96
            TXT: dnsaddr=/ip4/172.22.208.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 97
            TXT: dnsaddr=/ip4/192.168.6.137/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 96
            TXT: dnsaddr=/ip4/192.168.56.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 96
            TXT: dnsaddr=/ip4/169.254.39.6/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip4/169.254.95.170/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip4/169.254.137.21/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 98
            TXT: dnsaddr=/ip4/169.254.95.199/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 97
            TXT: dnsaddr=/ip4/169.254.5.203/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 97
            TXT: dnsaddr=/ip4/192.168.127.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 96
            TXT: dnsaddr=/ip4/192.168.42.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 93
            TXT: dnsaddr=/ip4/127.0.0.1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:5041:ff6d:b6d6:e2fe/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 103
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84::137/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:5041:ff6d:b6d6:e2fe/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 122
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:1864:8fc0:b677:680/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:45aa:da51:429e:7d3c/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:501d:2c24:2671:c8dd/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:75b4:a6ab:dd7d:6205/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 122
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:cd89:d910:6f7a:91f/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 123
            TXT: dnsaddr=/ip6/fd70:994d:b9cb:4c5c:f56e:104f:5a58:f8c0/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 119
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:1864:8fc0:b677:680/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:45aa:da51:429e:7d3c/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:501d:2c24:2671:c8dd/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:75b4:a6ab:dd7d:6205/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 119
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:cd89:d910:6f7a:91f/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 120
            TXT: dnsaddr=/ip6/fdee:f8c5:9d84:0:f56e:104f:5a58:f8c0/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
            TXT Length: 87
            TXT: dnsaddr=/ip6/::1/udp/4001/quic/p2p/12D3KooWRB9rUQATKUucPki3RQMK661JfxmQnBNuhK8ovprxJRxC
        jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local: type A, class IN, addr 100.100.231.29
            Name: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local
            Type: A (Host Address) (1)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 120 (2 minutes)
            Data length: 4
            Address: 100.100.231.29
        jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local: type AAAA, class IN, addr fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d
            Name: jcd6q49orzi1arpquo79g0iield0aqub8wzqmm3yxrhft5kh4unygym6wxrc.local
            Type: AAAA (IPv6 Address) (28)
            .000 0000 0000 0001 = Class: IN (0x0001)
            0... .... .... .... = Cache flush: False
            Time to live: 120 (2 minutes)
            Data length: 16
            AAAA Address: fd7a:115c:a1e0:ab12:4843:cd96:6264:e71d
    [Request In: 1043223]
    [Time: 0.000966000 seconds]

The content of this message suggests that ipfs is the originating program. While I have not examined it closely, at the same time these ipv4 mdns packets are being sent out 66 times, it appears ipv6 packets of the same payload are also being sent at a similar rate. It may (or may not) be worth noting that these packets are large enough that they use ip framentation to be transmitted over the ethernet link.

Also notable is that it appears that the query resulting in this sending of 66 query responses is identified by wireshark as being a query for PTR _p2p._udp.local sent from the same host (I expect this to be a query sent by the same ipfs instance that is sending the responses).

Thoughts:

  • it seems like ipfs should probably only send 1 query response (rather than resending it 66 times) if it's sending a query response per second.
  • it might be that we need to avoid responding to ourselves
  • if we're sending out these responses purposefully unsolicited, their rate should likely be greatly reduced

Some mDNS standard links that indicate this behavior is not good:

mDNS Announcing describes how a host should send unsolicited query responses. Updating expands on this by describing when to re-announce.

Announcing provides maximum numbers of unsolicied query responses per announce (and time between them)

The Multicast DNS responder MUST send at least two unsolicited
responses, one second apart. To provide increased robustness against
packet loss, a responder MAY send up to eight unsolicited responses,
provided that the interval between unsolicited responses increases by
at least a factor of two with every response sent.

It also notes that regular updates are not permitted:

A Multicast DNS responder MUST NOT send announcements in the absence
of information that its network connectivity may have changed in some
relevant way. In particular, a Multicast DNS responder MUST NOT send
regular periodic announcements as a matter of course.

Though this is modified by Updating, it still remains stricter than the observed behavior, stating that updates more often than every 10 minutes should not be done, and advises the creation of a separate protocol to manage updates that must happen more often than that.

@codyps codyps added kind/bug A bug in existing code (including security flaws) need/triage Needs initial labeling and prioritization labels Jan 22, 2022
@welcome
Copy link

welcome bot commented Jan 22, 2022

Thank you for submitting your first issue to this repository! A maintainer will be here shortly to triage and review.
In the meantime, please double-check that you have provided all the necessary information to make this process easy! Any information that can help save additional round trips is useful! We currently aim to give initial feedback within two business days. If this does not happen, feel free to leave a comment.
Please keep an eye on how this issue will be labeled, as labels give an overview of priorities, assignments and additional actions requested by the maintainers:

  • "Priority" labels will show how urgent this is for the team.
  • "Status" labels will show if this is ready to be worked on, blocked, or in progress.
  • "Need" labels will indicate if additional input or analysis is required.

Finally, remember to use https://discuss.ipfs.io if you just need general support.

@codyps codyps changed the title ipfs while mostly idle generates lots of mDNS traffic ipfs while mostly idle generates ~3GB/day of mDNS traffic Jan 23, 2022
@codyps codyps changed the title ipfs while mostly idle generates ~3GB/day of mDNS traffic ipfs while mostly idle generates ~2GB/day of mDNS traffic Jan 23, 2022
@marten-seemann
Copy link
Member

Hi @jmesmon, thank you for digging into this. A few thoughts:

  1. It looks like you have a massive amount of addresses you're listening on (around 60 or 70?). Every TXT record consumes about 90 bytes, which is why you end up with packet sizes of ~6 kB, which are then fragmented.
    • There's not a lot we can do about compressing IP addresses, but in principle we could change the encoding format such that the peer ID is deduplicated. Unfortunately, this would be a breaking protocol change. Furthermore, it would only reduce the length of the records by an estimated 40%, so we'd still end up with fragmented packets.
  2. We're currently running two mdns implementations in parallel: a legacy one (source repo) and a new one (source repo). While it looks like the pcaps you recorded originate from the new implementation, it would definitely by interesting to check which implementation is responsible for the traffic, especially for the 66x amplification (they're configured here).
  3. If it turns out that it's the legacy implementations fault, we might just proceed with the deprecation faster. If it's the new one, that's something that should be fixed.

We probably won't have the bandwidth to debug this any time soon. It looks like you already have a pretty good testing environment set up. We'd really appreciate if you want to debug this and submit a fix!

@aschmahmann aschmahmann added need/author-input Needs input from the original author need/analysis Needs further analysis before proceeding P2 Medium: Good to have, but can wait until someone steps up and removed need/triage Needs initial labeling and prioritization labels Jan 28, 2022
@marten-seemann
Copy link
Member

@jmesmon, any update on this?

@codyps
Copy link
Author

codyps commented Feb 7, 2022

I have not investigated this further.

I have observed (after some system restarts that started ipfs again) that 3 processes are involved in the mdns traffic now: chrome, mdns-responder, and ipfs. It's possible that there's some combination of misbehavior. The high network usage continued to occur, so I've disabled ipfs autostarting on all my systems.

@schomatis
Copy link
Contributor

schomatis commented Jun 22, 2022

@jmesmon @marten-seemann

[Background: I know Go and IPFS but I'm learning libp2p/mDNS as I go; please fill in the blanks when needed.]

I'm blocking on comments on the above before moving forward as I know very little about all of this to make an informed decision on how to proceed.

@lidel
Copy link
Member

lidel commented Nov 17, 2022

We've removed old mDNS implementation in Kubo 0.14 (#9048).

If this problem comes up again, please open a new issue to indicate it is related to the new mDNS.

@lidel lidel closed this as completed Nov 17, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
kind/bug A bug in existing code (including security flaws) need/analysis Needs further analysis before proceeding P2 Medium: Good to have, but can wait until someone steps up
Projects
No open projects
Archived in project
Development

No branches or pull requests

5 participants