CiscoDevNet / FastLaneSelfServe

Cisco DevNet Fastlane Validation Lab
MIT License
3 stars 0 forks source link
cisco learning-labs

Fast Lane Visualizer

This application visualizes the network traffic in near realtime. The network traffic here is the Fast Lane traffic that is marked by the iOS app.

There are 3 components to this project:

Introduction to Fast Lane

Fastlane allows applications on iOS devices which are connected to Cisco Wi-Fi Access points to prioritize their traffic; Such prioritization allows the apps to deliver best experience in the enterprises.

App traffic on Wi-Fi networks can be broadly classified as: Voice, Video, Best Effort and Background. Double clicking on each of the traffic types:

• Voice: This is interactive voice for apps using Wi-Fi Calling (CallKit), Cisco Spark, Facetime or any other Voice app.

• Video: This is video traffic using Wi-Fi Calling (CallKit), Cisco Spark, Facetime or video capabilities within the app.

• Best Effort: Examples of data include instant messaging, VPN tunneling, audio/video streaming, signaling, screen sharing etc.

• Background: These apps include photo/media uploads or backups.

Setup (mac-osx)

Make sure both docker and docker-compose is up and running.

$ docker-compose version

Run

There are 3 elements that you want to run for the demo: docker-compose, tshark and browser (visualization)

Tip: If you keep the system up for long, it might get slower because of huge amount of packet data. Restart the docker-compose once every 1-2 hour for best experience.

Open a new tab, and run the tshark command to start the network capture. You can optionally provide the ip option to capture from a particular IP address.

tshark -a duration:500 -i en0 -e frame.number -e wlan.qos -e wlan.qos.priority -e ip.src -e ip.dst -e ip.dsfield.dscp -e ip.len -Tek > /tmp/tshark/data/logs.data

You can apply a filter by adding -Y or -f option to the tshark command. For example,

-Y "ip.src == 10.10.30.101 && ip.dst == 10.10.30.102"

or

-f "host 10.10.30.101"

Note: This will run tshark and do a packet capture for 500s. For the demo scenario, you can start the tshark just before every demo and then stop if after that. This will also help to keep the network dump small.

Tip: Refresh the Page once every 1-5 mins, to clear out the cache and to bring in the real-time nature for visulizations.

Update (To Latest Version)

cd FastLaneSelfServe //omit if pwd is already /FastLaneSelfServe
docker-compose down
docker-compose pull
docker-compose up -d

Debug

docker-compose down
docker-compose up -d

Concept

//Simple Get request
GET http://0.0.0.0:9200/fastlane/log/_search?_source=json.layers.ip_dsfield_dscp,json.timestamp

//Get latest results
curl -XGET 'localhost:9200/fastlane/log/_search?_source=json.layers.ip_dsfield_dscp,json.timestamp' -H 'Content-Type: application/json' -d'
{
    "sort" : [
        {"json.timestamp.keyword" : {"order" : "desc"}}
     ]
}'

Special Thanks !

This code is built on top of https://github.com/deviantony/docker-elk