netcatでudp応答を取得する方法


9

私は次のようなことをやろうとしています:

echo "request" | nc -u 1.1.1.1 9999 > response.txt

tcpdumpこの行を実行した後、サーバーから(を使用して)応答が返されていることがわかります。

しかし、私のresponse.txtは空のままです。

それを取得する方法はありますか?


ファイアウォールはありますか?tcpdumpを介してパケットを確認しても、パケットが受け入れられるわけではありません。
Zoredache 2010

回答:


5

Netcatは、-uコマンドラインオプションを指定することにより、UDPの「トーキング」を開始します(デフォルトはTCP)。UDPを使用してRFC 867タイムサーバーに接続する例を次に示します。他のホストのIPアドレスまたはDNS名が最初に指定され、ポート番号が2番目に指定されていることに注意してください-ほとんどのtelnetプログラムと同じです。接続が確立されたら、おそらくEnterキーを押して、タイムサーバーから現在の時刻を送信する必要があります。(多分これはあなたの問題です)

nc -u igor.alcpress.com 13

2005年9月15日(木)14:41:57

UDPは接続指向のプロトコルではないため、Ctrl-Cを押してプログラムを終了するまで、接続は「開いたまま」になります。

================================================== ====================

出力をリダイレクトしない場合は応答しますか?
試してください:echo "request" | nc -u 1.1.1.1 9999 | tee response.txt


こんにちは、返信ありがとうございます。あなたが書いた方法のコマンドシーケンスは、私のマシンで実行された直後に終了します。しかし、問題は私にとって解決されました。nc -u 1.1.1.1 9999を実行し、実行中にnc内でデータを送受信できることを知りませんでした。改めて感謝します
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.