-
Notifications
You must be signed in to change notification settings - Fork 275
6. Usage Guide: AppMon Sniffer
Nishant Das Patnaik edited this page Jul 23, 2016
·
21 revisions
[-s SCRIPT_PATH] [-o OUTPUT_DIR] [-ls LIST_APPS] [-v]
optional arguments:
-h, --help show this help message and exit
-a APP_NAME Process Name; Accepts "Twitter" for iOS;
"com.twitter.android" for Android; "Twitter" for macOS
--spawn SPAWN Optional; Accepts 1=Spawn, 0=Attach; Needs "-p PLATFORM"
-p PLATFORM Platform Type; Accepts "ios", "android" or "macos"
-s SCRIPT_PATH Path to agent script file; Can be relative/absolute path for
a file or directory; Multiple scripts in a directory shall
be merged; Needs "-a APP_NAME"
-o OUTPUT_DIR (Optional) Path to store any dumps/logs; Accepts
relative/absolute paths
-ls LIST_APPS Optional; Accepts 1 or 0; Lists running Apps on target
device; Needs "-p PLATFORM"
-v show program's version number and exit```
###Sample Usage
* On jailbroken iOS device by **attaching** to running Twitter app, `python appmon.py -a Twitter -p ios -s scripts/iOS`
* On jailbroken iOS device by **re-spawning** the running Twitter app, `python appmon.py -a Twitter -p ios -s scripts/iOS/JSON/NSJSONSerialization_JSONObjectWithData.js --spawn 1`
* On a rooted Android device by **attaching** the running Twitter app, `python appmon.py -a "com.twitter.android" -p android -s scripts/Android`
* List all running apps on a device (`-p ios` or `-p android`), `python appmon.py -p ios -ls 1`
###Points to Remember
* After starting appmon, you may need to interact/use the app on the device till you see messages on console similar to `Dumping to foobar.db` and until then you not may not find your app on the WebUI's app list.
* For every unique app, appmon saves all data into a SQLite database with the same name as that of the app's name under the `appmon/app_dumps` directory.
* If you want to start a fresh session, you may need delete the old db for that app, under the `appmon/app_dumps` directory (do not forget to backup it up shall you need it later)
###Screenshots
* ![Screenshot#1](https://raw.githubusercontent.com/dpnishant/appmon/master/screenshots/1.png?raw=true "Screenshot#1")
* ![Screenshot#2](https://raw.githubusercontent.com/dpnishant/appmon/master/screenshots/2.png?raw=true "Screenshot#2")
* ![Screenshot#3](https://raw.githubusercontent.com/dpnishant/appmon/master/screenshots/3.png?raw=true "Screenshot#3")
* ![Screenshot#4](https://raw.githubusercontent.com/dpnishant/appmon/master/screenshots/4.png?raw=true "Screenshot#4")