RailsとかでAPIサーバー書いてる時、ローカルでRails(とか)を立ち上げるじゃないですか。
bin/rails s -p 3030
…と、こんな感じで仮に3030ポートで立ち上げてるとします。
ここで、iOS側とかのクライアントサイドソフトを、デバッグしたい通信の直前の状態まで遷移させます。
UIで止めるのが難しいなら、ブレークポイントで止めちゃっても良いと思います。
ここでncコマンドの出番。
まずは先のrailsサーバーをCtrl+Cで止めてから…
nc -l 3030
この状態で、クライアントの通信を走らせると、ncコマンドの方にHTTPリクエストが平文で流れてくるので、
プログラムから通信の詳細が分かりにくいときに便利です。
余談
僕は、iOSアプリで使っていたAlamofireのバージョンを上げたらバイナリファイルのアップロード部分が動かなくなって、原因究明したくでこの手段にたどり着きました。