Skip to content

Instantly share code, notes, and snippets.

@GrayHatGuy
Last active May 9, 2024 15:19
Show Gist options
  • Save GrayHatGuy/ae5af894ef2b5fb3bf7ae83159475015 to your computer and use it in GitHub Desktop.
Save GrayHatGuy/ae5af894ef2b5fb3bf7ae83159475015 to your computer and use it in GitHub Desktop.
Iridium satellite cheat sheet for hackrf SDR capture using gr-iridium iridium-toolkit and iridium live

Description

This details how to capture voice text and rings associated with iridium satellite rebroadcasts of the Aircraft Communications Addressing and Report System (ACARS)

Prerequisites:

Examples:

Iridium voice

Sat band voice capture of ACARS - Aircraft Comms Address and Report System

  • Check configuration

    cd ~/gr-iridium/examples/*.conf
    
  • Verify bias, sample rate, BW, center_freq, and gains for the sdr being used

    • Example for hackrf shown below
    [osmosdr-source]
    # Use the following if bias t is disabled
    #device_args='hackrf=0'
    # Use the following line to turn on the antenna bias
    device_args='hackrf=0,bias=1'
    
    sample_rate=10000000
    center_freq=1622000000
    bandwidth=9800000
    
    # Turn on the pre-amp
    gain=14
    
    # Moderate gains
    if_gain=40
    bb_gain=20
    
  • Start the extractor

    iridium-extractor -D 4 $HOME/gr-iridium/examples/hackrf-10msps.conf > output.bits
    

    Any signals > 50% are acceptable else increase gain in conf file to achieve desired capture and restart extractor

  • Start the parser of extracted files

    python3 $HOME/iridium-toolkit/iridium-parser.py output.bits > output.parsed
    
  • View parse voice captures.

    python3 $HOME/iridium-toolkit/stats-voc.py output.parsed
    
  • To audition voice samples left click on samples to begin and right click on sample end.

Iridium text

Sat band text message capture of ACARS - Aircraft Comms Address and Report System

  • Start extraction pipe to parser

    iridium-extractor -D 4 --multi-frame $HOME/gr-iridium/examples/hackrf-10msps.conf | python3 -u $HOME/iridium-toolkit/iridium-parser.py -o zmq
    
  • In a second terminal open up reassembler

    python3 -u $HOME/iridium-toolkit/reassembler.py -m acars zmq:
    
  • You should see new subscriber notification in extraction pipe

  • As notifications are received they will appear in the reassembler terminal

Viewer

View ACARS and sats extracted on a map

  • Navigate to html index
    cd $HOME/iridium-toolkit/html
    
  • Update and change line removing literal ip address to localhost 127.0.0.1 or 0.0.0.0 and change to python3. If sdr is on a remote host use its literal ip address.
    python3 m http-server --bind 127.0.0.1 8888
    
  • Open a web browser using ip above to see the extractions and satellite locations on a map

Iridium RNG Alert Band

Mapping Ring Alerts with IridiumLive imager

  • Edit and update script

    cd $HOME/iridium-toolkit
    
    sudo nano udp-for-il.py
    
  • Change ap = to 0.0.0.0 for localhost or literal ip of the remote sdr host

  • Run live extraction and viewer

    iridium-extractor --multi-frame examples/hackrf-10msps.conf | $HOME/iridium-toolkit/iridium-parser.py -p /dev/stdin /dev/stdout | python3 udp-for-il.py
    
  • Verify UDP packets XXX in terminal scroll

  • Start up webserver

    sudo ./iridiumlive
    
  • Open browser to localhost:7777 to see rings and SATs

Special thanks to ...

@GrayHatGuy
Copy link
Author

Photos of setup
iridium

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment