[解決済み] tcpdumpでHTTPリクエスト、レスポンスヘッダ、レスポンスボディを取得することは可能ですか?
2023-03-21 06:42:40
質問
私は
tcpdump
を使って、以下のコマンドを実行して、HTTPデータを取得しています。
sudo tcpdump -A -s 1492 dst port 80
上記のコマンドの結果。
- ヘッダー、私はリクエストとレスポンスヘッダを考えます。
- 読み取り不可能なデータ。
-
URL が
GET /modules/mod_news_pro_gk1/cache/stories.ilbalad.ajayeb.strange-tractor.jpg
.
例えば、読み取り可能なリクエスト > レスポンスヘッダ > レスポンスボディなど、より明確な結果が必要です。 どのように結果をフィルタリングすればよいのでしょうか?
どのように解決するのですか?
HTTP GET と HTTP POST (または両方とメッセージボディ) を対象とした tcpdump フィルタが存在します。
-
実行
man tcpdump | less -Ip examples
を実行して、いくつかの例を見てみましょう。 -
ここでは、HTTP GET 用の tcpdump フィルタ (
GET
=0x47
,0x45
,0x54
,0x20
):sudo tcpdump -s 0 -A 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x47455420'
-
ここでは、HTTP POST用のtcpdumpフィルタ(
POST
=0x50
,0x4f
,0x53
,0x54
):sudo tcpdump -s 0 -A 'tcp dst port 80 and (tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354)'
-
リクエストとレスポンスのヘッダーとメッセージボディを含む HTTP トラフィックを監視する ( ソース ):
tcpdump -A -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)' tcpdump -X -s 0 'tcp port 80 and (((ip[2:2] - ((ip[0]&0xf)<<2)) - ((tcp[12]&0xf0)>>2)) != 0)'
TCPヘッダーのビット操作の詳細については、以下を参照してください。 文字列マッチング キャプチャ フィルタ ジェネレータ (Sake Blok氏の説明へのリンク)を参照してください。
関連
-
[解決済み] HTTP GET(リクエストボディ付き
-
[解決済み] java.net.URLConnectionを使用してHTTPリクエストを発生させ処理する方法
-
[解決済み] PHP の cURL は、一度のリクエストでレスポンスヘッダーとボディーの両方を取得できますか?
-
[解決済み] [Solved] リクエストに必須パラメータがない場合、どのようなHTTPステータスレスポンスコードを使用すればよいですか?
-
[解決済み] プログラムでソフトキーボードを開く
-
[解決済み] getApplication()、getApplicationContext()、getBaseContext()、someClass.thisの違いと使い分け。
-
[解決済み] Android: ランドスケープモード用の代替レイアウト xml
-
[解決済み] Android StudioからADBを手動で再起動する方法
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?
-
[解決済み] HttpURLConnectionを使ったPOSTによるファイル送信
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Android Debug Bridgeでアプリケーションのインストール時にINSTALL_FAILED_VERSION_DOWNGRADEを無視する方法はありますか?
-
[解決済み] 深くネストされたスタックから離れるとき、Fragmentのバックスタックをクリーンアップする方法はこれで良いのでしょうか?
-
[解決済み] プログラム的に電話をかけるには?
-
[解決済み] プログラムでソフトキーボードを開く
-
[解決済み] Androidでマイナスマージンを使用するのは悪いことですか?
-
[解決済み] wrap_contentでRelativeLayoutがフルスクリーンになってしまう
-
[解決済み] データベースでリサイクルビューを使用する
-
[解決済み] Gmailの3分割アニメーションシナリオの完全動作サンプル?
-
[解決済み] FragmentPagerAdapterのgetItemが呼び出されない
-
[解決済み] 実行に失敗しました app:processDebugResources Android Studio