Shop OBEX P1 Docs P2 Docs Learn Events
XBee Sniffer -- Global Address Question — Parallax Forums

XBee Sniffer -- Global Address Question

JonnyMacJonnyMac Posts: 8,992
edited 2014-03-11 04:29 in Accessories
I'm working with an existing system that uses API mode. There is a master controller that sends broadcast commands (destination $FFFF) and individual units can send data between each other. I would like to monitor ANY traffic in this system. Is there a mechanism in the API mode that would allow me to set the address of a module such that it sees ALL traffic? I want to [remotely] see when Unit A sends a message to Unit B and vice-versa.

Comments

  • phubnerphubner Posts: 7
    edited 2014-02-24 17:58
    JonnyMac,

    I had a similar interest: essentially performing a wireshark/sniffer function for XBees. Unfortunately, I don't believe there is any way of monitoring the overall network traffic. API mode addresses each radio explicitly and afaik they dump traffic not destined for the individual radio. The various network layouts are also not conducive to overall monitoring.

    But... You might send a note to Digi's product manager Jared Hofhiens (found via google). I don't have an email, but the main switchboard is (801) 765-9885. If any knows they should!

    Pls post if you find a way.
    Paul
  • JonnyMacJonnyMac Posts: 8,992
    edited 2014-02-25 08:34
    Thanks. I've been in touch with an FAE and am awaiting a reply.
  • Tracy AllenTracy Allen Posts: 6,658
    edited 2014-02-27 08:28
    Take a look at Texas Instruments' CC2531EMK. It comes programmed as an 802.15.4 sniffer, Quickstart attached. Also on the TI site look for swru187f SmartRF Packet Sniffer User Manual and the associated softtware.

    I don't know if there is a mode that lets one sniff with an XBee. If you find out how it can be done, I'd like to know. I've tried with the master set to listen in at the MY address of the other target XBee, but that results in packet loss for both as they fight to be the first to ack the packet.
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2014-02-28 12:00
    Jon,

    I have forwarded your question to our direct support contact and hope to get a response soon. I have made them aware questions are pending.
  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2014-02-28 14:21
    JonnyMac wrote: »
    I'm working with an existing system that uses API mode. There is a master controller that sends broadcast commands (destination $FFFF) and individual units can send data between each other. I would like to monitor ANY traffic in this system. Is there a mechanism in the API mode that would allow me to set the address of a module such that it sees ALL traffic? I want to [remotely] see when Unit A sends a message to Unit B and vice-versa.

    Jon,

    Here's the answer I got back from the Digi rep on your question (I copied your post to him).
    Digi wrote:
    In a Wi-Fi network, you would have to have some sort of sniffer to see all that data. These radios follow the rules of the IP protocol. If you had something on the network sending out broadcasts, you would be able to see those packets.
  • JonnyMacJonnyMac Posts: 8,992
    edited 2014-03-04 19:07
    Sorry, Chris, I hadn't been back to this forum in a while. I spoke with a Digi tech support rep today about this (the answer, as you note, is No) and another issue (got good news on that one).
  • Tracy AllenTracy Allen Posts: 6,658
    edited 2014-03-07 12:15
    Was the question about 802.15.4 or 802.11b/g/n? I was assuming the former.

    Originally Posted by Digi

    In a Wi-Fi network, you would have to have some sort of sniffer to see all that data. These radios follow the rules of the IP protocol. If you had something on the network sending out broadcasts, you would be able to see those packets.

    That is 802.11


  • Chris SavageChris Savage Parallax Engineering Posts: 14,406
    edited 2014-03-07 15:48
    Interesting Tracy. I actually copied and pasted Jon's question. By the time I got a reply I hadn't remembered that he didn't specify the type and I think the Digi rep assumed the Wi-Fi since that is what most of our questions have been about. With the 802.15.4 I knew that there was a broadcast mode where all devices could get a message, but otherwise they just communicate on fixed channel and ID.
  • RforbesRforbes Posts: 281
    edited 2014-03-11 04:29
    @JonnyMac-

    Are you able to modify the existing system? Or are you stuck with dealing with them as they are installed? I've created a "sniffer" node using the XSC 900 Pro modules to do exactly what you're asking about. I did it by setting up all of the nodes on the network to transmit broadcasts (global packets) and each data packet contains it's own header that has a unique node address, packet ID, flags and such. So each xbee on the network dumps all the packets it receives out it's serial port, and the propeller does the filtering and retries, timeouts and other stuff- then generates a response if it's supposed to. The "sniffer" does the same but never generates a response. It's basically creating an home-grown API packet within the rf data portion of the entire packet. I use the XSC modules in AT mode, but it would function just as well in API mode I think.

    @everyone-

    Do ALL of the xbee series support global/local (broadcast/addressed) packets? I kind of want to assume they all support this in some form or another but I haven't used the other types out there.
Sign In or Register to comment.