Files
2020-09-03 15:46:35 +10:00
..
2020-09-03 15:46:35 +10:00

Outputting LoRaWAN data as PCAP

Description

This uses LoRa packet forwarder to forward the LoRa packets to a localhost with port 1700. Once packet forwarder is running, another process executes tcpdump that captures a loopback interface and outputs it as a pcap file. Afterwards, we remove the Ethernet, IP and UDP headers (14+20+8) of the pcap file and set linktype to user (147). Finally, the edited pcap file is loaded to Wireshark, where the protocol is changed to LoRaWAN.

Instructions

  1. Users should first flash the correct configuration of LoRadar on the microSD card.

  2. Clone the local_packet_forwader directory to the Raspberry Pi.

  3. Install the following dependencies.

    sudo apt-get update -y
    sudo apt-get install -y bittwist
    sudo apt-get install -y tcpdump
    sudo apt-get install -y screen
    
  4. Create a screen session.

    screen
    
  5. Within this screen session, cd to the 'local_packet_forwarder' directory within Raspberry Pi. Execute the following to start capturing packets on port 1700 and outputting it as capture.pcap:

    cd lora_pkt_fwd/
    sudo tcpdump -s 0 -AUq port 1700 -w capture.pcap
    
  6. Detach from the screen by pressing ctrl + a + d on the keyboard.

  7. Start a new screen session by typing screen in the terminal.

  8. cd to the 'local_packet_forwarder' directory within Raspberry Pi. Execute the following to start forwarding packets to localhost:

    cd lora_pkt_fwd/
    sudo chmod +x lora_pkt_fwd
    sudo ./lora_pkt_fwd
    
  9. To terminate the packet forwarder session, press ctrl + c on the keyboard and type exit in the terminal to end the screen session.

  10. Navigate to the other screen by typing screen -r -d in the terminal.

  11. End the packet capture session by pressing ctrl + c on the keyboard. You will now see a new capture.pcap file created in the directory.

  12. Process the .pcap data to remove the unnecessary Ethernet, IP and UDP headers (14+20+8) of the pcap file and set linktype to user (147). This process will intake the capture.pcap file and output it as processed_capture.pcap.

    bittwiste -I capture.pcap -O dump_dlt_user.pcap -M 147 -D 1-42
    
  13. Open the processed_capture.pcap file in Wireshark.

  14. Navigate to Edit -> Preferences -> Protocols -> DLT_USER -> Edit....

  15. Input lorawan as the Payload protocol, 14 as the header size, then click OK.

  16. You will now see LoRaWAN fields under the frame information.