Packet #39638096 Success
NODEINFO_APP packet from BalsamFirSolarRouter (RFIR) to !ffffffff
46
Total Receptions
2
Unique Gateways
2
Hop Count
85
Payload Bytes
Packet Information
| Database ID: | 39638096 |
|---|---|
| Mesh Packet ID: |
0x0d7e09a5
Used for correlation across gateways |
| Timestamp: | 2026-05-16 15:40:12 UTC |
| From Node: | BalsamFirSolarRouter (RFIR) |
| To Node: | !ffffffff (ffff) |
| Success: | Processed |
| Protocol: |
NODEINFO_APP
Port: 4 |
| Gateway: | neoSG2 https://canadaverse.org/ (🎐) |
|---|---|
| Channel: | MediumFast |
| RSSI: | -96 dBm |
| SNR: | -4.75 dBm |
| Hop Info: |
2/3 hops
Start: 3, Limit: 1 |
| Relay Node: |
5b
Last byte of the last hop that relayed this packet |
Payload Data
Protocol: NODEINFO_APP
Size: 85 bytes
Decoded:
Yes
Decoded Data:
| Long Name: | BalsamFirSolarRouter |
|---|---|
| Short Name: | RFIR |
| Node ID: | !6e9af195 |
| MAC Address: | 1J9umvGV |
| Hardware: | RAK4631 |
Raw Packet Analysis
Complete field breakdown and MQTT privacy/exposure analysisPacket Structure
MQTT Packet Flow:
ServiceEnvelope (MQTT layer) → MeshPacket (Mesh layer) → Decoded Payload (Application data)
| Total Size: | 85 bytes |
|---|---|
| Gateway: | !a2e1bcbc |
| Channel: | MediumFast |
| Payload Type: | NODEINFO_APP |
| Hop Count: | 2 / 3 |
Privacy Summary
Exposure Level:
Broadcast
Broadcast
Privacy Features:
✓ Direct LoRa transmission (not via MQTT)
✓ Custom channel: MediumFast
+ 1 more...
✓ Direct LoRa transmission (not via MQTT)
✓ Custom channel: MediumFast
+ 1 more...
Exposure Risks:
⚠ Visible to all nodes on channel
⚠ Packet visible to MQTT subscribers
+ 2 more...
⚠ Visible to all nodes on channel
⚠ Packet visible to MQTT subscribers
+ 2 more...
MQTT ServiceEnvelope Fields
MQTT ServiceEnvelope contains the MeshPacket plus routing metadata
| Field | Value |
|---|---|
gateway_id |
!a2e1bcbc
Node ID format |
channel_id |
MediumFast
|
packet |
MeshPacket (85 bytes)
Contains the actual mesh network packet |
MeshPacket Fields
Core mesh packet with routing and payload information
| Field | Value | Type |
|---|---|---|
from |
1855648149
Source node ID |
uint32 |
to |
4294967295 (Broadcast)
Visible to all nodes |
uint32 |
decoded.portnum |
4
NODEINFO_APP |
enum |
decoded.payload_length |
85 bytes
|
size |
hop_limit |
1
Remaining hops allowed |
uint32 |
hop_start |
3
Initial hop limit |
uint32 |
hops_taken |
2
Calculated: hop_start - hop_limit |
derived |
rx_rssi |
-96.0 dBm
Signal strength at gateway |
int32 |
rx_snr |
-4.75 dB
Signal quality at gateway |
float |
rx_time |
1778946011
Receive timestamp |
fixed32 |
via_mqtt |
False
Direct LoRa transmission |
bool |
want_ack |
False
No ACK requested |
bool |
priority |
Not set | enum |
delayed |
Not set | enum |
channel |
Not set | uint32 |
pki_encrypted |
False
Standard encryption |
bool |
next_hop |
Not set | uint32 |
relay_node |
91
Relay node ID |
uint32 |
tx_after |
Not set | uint32 |
timestamp |
1778946012.6714108
Unix timestamp |
uint32 |
MQTT Privacy & Exposure Analysis
Analysis of privacy features and exposure risks when packet is shared via MQTT
Exposure Level: Broadcast
Privacy Features:
- ✓ Direct LoRa transmission (not via MQTT)
- ✓ Custom channel: MediumFast
- ✓ Gateway node ID tracked
Exposure Risks:
- ⚠ Visible to all nodes on channel
- ⚠ Packet visible to MQTT subscribers
- ⚠ Multi-hop path visible (2 hops)
- ⚠ RF signal metrics exposed (location inference possible)
MQTT-Specific Fields
| Gateway ID: | !a2e1bcbc |
| Signal Metrics: |
RSSI: -96.0 dBm SNR: -4.75 dB |
Complete Payload Analysis
Detailed breakdown of all payload fields and decoded data
Payload Metadata:
| Protocol: | NODEINFO_APP |
|---|---|
| Size: | 85 bytes |
| Decoded: | Yes |
Complete Payload Data (JSON):
{
"id": "!6e9af195",
"long_name": "BalsamFirSolarRouter",
"short_name": "RFIR",
"macaddr": "1J9umvGV",
"hw_model": "RAK4631"
}
Complete Protobuf Decode (JSON)
{
"service_envelope": {
"gateway_id": "!a2e1bcbc",
"channel_id": "MediumFast",
"packet": "MeshPacket (see mesh_packet below)"
},
"mesh_packet": {
"from": 1855648149,
"to": 4294967295,
"id": 226363813,
"rx_time": 1778946011,
"rx_snr": -4.75,
"rx_rssi": -96,
"hop_limit": 1,
"hop_start": 3,
"via_mqtt": false,
"want_ack": false,
"priority": 0,
"delayed": 0,
"channel_index": null,
"pki_encrypted": false,
"next_hop": 0,
"relay_node": 91,
"tx_after": 0,
"decoded": {
"portnum": 4,
"payload": "0a09213665396166313935121442616c73616d466972536f6c6172526f757465721a04524649522206d49f6e9af195280938024220f89c1611fe49de6478caa73f3962d0c4552cd6740f37e949c9685d7b40655b06",
"want_response": null,
"dest": null,
"source": null,
"request_id": null,
"reply_id": null,
"emoji": null,
"parsed_payload": {
"id": "!6e9af195",
"long_name": "BalsamFirSolarRouter",
"short_name": "RFIR",
"macaddr": "1J9umvGV",
"hw_model": "RAK4631",
"role": "ROUTER",
"public_key": "+JwWEf5J3mR4yqc/OWLQxFUs1nQPN+lJyWhde0BlWwY=",
"type": "protobuf",
"portnum": "NODEINFO_APP",
"message_class": "User"
}
}
}
}
Raw Packet Data (85 bytes)
0a09213665396166313935121442616c73616d466972536f6c6172526f757465721a04524649522206d49f6e9af195280938024220f89c1611fe49de6478caa73f3962d0c4552cd6740f37e949c9685d7b40655b06
Hex Analysis:
| Size: | 85 bytes |
|---|---|
| Format: | Protobuf (Protocol Buffers) |
| Encoding: | Binary with varint and length-delimited fields |
This is the raw protobuf-encoded payload as received from MQTT.
The structure follows the Meshtastic protobuf schema definitions.
All Receptions
All gateways that received this packetCorrelation: Using Mesh Packet ID
Reception Locations
Loading...
Loading reception map...
Map shows gateway locations that received this packet. Hop counts are displayed if available.
| Gateway | Time Offset | RSSI | SNR | Hops | Relay | Channel | Timestamp | Actions |
|---|---|---|---|---|---|---|---|---|
| neoSG2 https://canadaverse.org/ (🎐) Primary |
0.000s
Reference |
-96.0 dBm | -4.75 dB | 2 |
5b
|
MediumFast | 2026-05-16 15:40:12 UTC | Current |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.358s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
LongFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.334s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
LongFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.313s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
LongFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.292s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
LongFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.271s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
LongFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.249s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
LongFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.225s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
LongFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.202s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
LongFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.179s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
LongFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.156s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
LongFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.135s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
LongFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.114s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
MediumFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.092s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
MediumFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.070s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
MediumFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.046s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
MediumFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
-0.023s
Before |
-96.0 dBm | -4.75 dB | 2 |
5b
|
MediumFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.022s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
MediumFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.044s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
MediumFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.065s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
MediumFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.087s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
MediumFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.110s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
MediumFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.134s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.158s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.181s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.203s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.225s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.246s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.267s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.290s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.314s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortFast | 2026-05-16 15:40:12 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.338s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortFast | 2026-05-16 15:40:13 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.361s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortFast | 2026-05-16 15:40:13 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.392s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortTurbo | 2026-05-16 15:40:13 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.415s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortTurbo | 2026-05-16 15:40:13 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.436s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortTurbo | 2026-05-16 15:40:13 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.457s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortTurbo | 2026-05-16 15:40:13 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.479s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortTurbo | 2026-05-16 15:40:13 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.503s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortTurbo | 2026-05-16 15:40:13 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.527s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortTurbo | 2026-05-16 15:40:13 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.550s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortTurbo | 2026-05-16 15:40:13 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.572s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortTurbo | 2026-05-16 15:40:13 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.593s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortTurbo | 2026-05-16 15:40:13 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.615s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
ShortTurbo | 2026-05-16 15:40:13 UTC | View |
| neoSG2 https://canadaverse.org/ (🎐) |
+0.636s
After |
-96.0 dBm | -4.75 dB | 2 |
5b
|
LongFast | 2026-05-16 15:40:13 UTC | View |
| Meshtastic 7c50 (7c50) |
+0.658s
After |
-116.0 dBm | -10.25 dB | 2 |
5b
|
LongFast | 2026-05-16 15:40:13 UTC | View |
46
Total Receptions
2
Unique Gateways