実は私も似たようなものを作りたいifconfig.me機能はありますが、内部ネットワークにのみ適用されます。サーバーには、特定のポートをリッスンして接続されているリモートコンピュータのIPを送信するものがあるようです。
私の問題のための良いユーティリティのようですnc
(サーバーにphp / python /何もありません。シェルと標準のUnixツールのみがあります)。
リモートシステムから起動して接続すると、リモートip、dns名は見えますがnc -vv
、リモートホストに送信する方法が見つかりません。
それとも、私はあまりにも奇妙な道を選んでより簡単な解決策があるのでしょうか?
ベストアンサー1
次のように使用できます。
while true; do nc -lvp 1337 -c "echo -n 'Your IP is: '; grep connect my.ip | cut -d'[' -f 3 | cut -d']' -f 1" 2> my.ip; done
nc
1337
リモートホストに関する情報をファイルにリダイレクトするstderr
verbosestderr
オプションを使用して、ポートでリッスンする無限ループで実行されますmy.ip
。このオプションを使用すると、接続を「処理」するために特定のタスクを実行できます-c
。nc
この場合、次にmy.ip
ファイルをgrepしてIPアドレスを見つけます。
pbm@lantea:~$ curl http://tauri:1337
Your IP is: 192.168.0.100