1

さて、私の最終的な目標は、外付けドライブやフラッシュディスク、さらにはCDに配置できる自動実行ファイルを用意することです。このファイルを実行すると、大量のがらくたが実行され、最終的にコンピューターのIP情報が返されます。これまでのところ、これは私が持っているものです...

そのバッチファイル

  • cmdウィンドウを開き、ipconfig / all> tcpinfo.txtを実行して、すべてのipconfigをファイルに保存します
  • 次に、ファイルはhtmlファイルを作成します

    エコー^http://anthonyrussell.info/scripts/sendmail.php?computerinfo="これはipconfig情報が行くべき場所です"^>^^^ >> sendEmail.html`

-バッチファイルが最後に行うことは、htmlファイルを実行することです

HTMLファイルは、私が作成したphpページにリダイレクトされます。このページは、作成したhtmlファイルから渡されたGET情報を含む電子メールを送信します。

したがって、ipconfig情報をhtmlコードに取得できない場合を除いて、すべて機能します。

何か案は?

以下は私が使用しているバットコードです。気軽に実行してください。altEmail =と書かれているメールアドレスを追加すると、テストしたい場所に送信されるように構成されています。それ以外の場合は、私にルーティングされます。

これをwhatevernameyouwant.batとして保存します

cd desktop
ipconfig /all > tcpinfo.txt
echo ^<html^>^<head^>^<meta HTTP-EQUIV="REFRESH"content="0;url=http://anthonyrussell.info/scripts/sendmail.php?computerinfo=ip:127.0.0.1&altEmail="^>^</head^>^</html^> >> sendEmail.html
sendEmail.html

アップデート

したがって、最も単純な答えが本当に最良である場合があります。このシナリオの要点は、ドライブまたはディスクを盗んだかどうかわからない誰かからコンピューター情報を取得することでした。

アイデアは、自動実行->バッチファイルの起動->comp情報のキャプチャ->htmlファイルの作成->情報付きの電話の自宅にすることでした

私がやったことは、コマンドプロンプトからパブリックIPをキャプチャする代わりに(今では実行できないと確信しています)、HTMLファイルを作成して起動し、サーバー上で訪問者IDをキャプチャして電子メールで送信するだけです。コマンドプロンプトでキャプチャしたコンピューター名と一緒に本文に表示されます。

皆様からのご意見ありがとうございました。これは楽しい運動でした

4

6 に答える 6

1

からの IP アドレスをipconfigfor ステートメントに入れて、次のように変数を取得できます。

for /f "tokens=2 delims=:" %%a in ('ipconfig ^| find "IPv4"') do set ipaddress=%%a

次に、エコーを次のように変更します

echo ^<html^>^<head^>^<meta HTTP EQUIV="REFRESH"content="0;url=http://anthonyrussell.info/scripts/sendmail.php computerinfo=ip:%ipaddress%&altEmail="^>^</head^>^</html^> >> sendEmail.html

そうは言っても、これはパブリックではなくローカル IP アドレスになる可能性が高いため、役に立ちません。私の記憶が正しければ、パブリック IP アドレスを取得するネイティブな方法はありません。

編集:

VBS とバッチを組み合わせて使用​​できます

getip.vbs

Dim o
Set o = CreateObject("MSXML2.XMLHTTP")
o.open "GET", "http://ifconfig.me/ip", False
o.send
CreateObject("Wscript.Shell" ).Run "getip.bat" & o.responseText,0

getip.bat

cd desktop
echo ^<html^>^<head^>^<meta HTTP-EQUIV="REFRESH"content="0;url=http://anthonyrussell.info/scripts/sendmail.php?computerinfo=ip:%1&altEmail="^>^</head^>^</html^> >> sendEmail.html
sendEmail.html    

これは、ここで提供されているソリューションをわずかに変更したバージョンです。これはテストされていないことに注意してください。

于 2013-02-09T20:58:18.507 に答える
1

カールを使用します。GET、POST、その他多くの便利な機能を実行できます。

于 2013-02-09T20:11:17.013 に答える
0

Okay so the answer is the following.

I havent been able to get it to send the computer output properly yet but this is how you get the two together. The trick is to use the COPY command. So create half of the html file. Append in the computer information then append in the rest of the HTML file. Now to just make it work...

echo computerinfoblah >> computerInfoFile.txt
echo ^<html^>^<head^>^<meta HTTP-EQUIV="REFRESH"content="0;url=http://anthonyrussell.info/scripts/sendmail.php?computerinfo=" >> sendemail.html
COPY sendemail.html + computerInfoFile.txt
echo &altEmail="^>^</head^>^</html^> >> sendemail.html
sendemail.html
于 2013-02-09T20:48:03.947 に答える
0

私がこれを行う方法は、最初にtxtファイルを保存するアドレスを指定することです...ドライブ上にある場合は、E:\と言ってから保存します。

cd E:\

次に、データをテキスト ファイルに保存します。

ipconfig /all > tcpinfo.txt

その後、各行を次のような変数として宣言してコールバックします (私の場合はテキスト ファイルの 4 行目であるホスト行が必要だとしましょう)。

< tcpinfo.txt (
set /p notimportant=
set /p notimportant=
set /p notimportant=
set /p hostname=
)

次に、データを Web サイトに送信し、ページがそれを正しく処理する場合は、次のような情報を使用してユーザーを Web サイトに直接送信できます。

start http://anthonyrussell.info/scripts/sendmail.php?hostname=%hostname%

必要なフィールドに応じて、GET の内容を指定する必要があります。次に、そのデータを Web ページから取得し、それを使用してデータをメールに送信します。

于 2013-02-09T21:25:22.343 に答える
0

バッククォートを使用して、ipconfig (またはその他のコマンド) の出力を変数に入れることができます。

<?php
$ipconfig=`ipconfig`;
print $ipconfig;

その後、php メールを使用して出力をメール送信できます (最初に php 構成で smtp サーバーを有効に設定するか、pear mail などの php smtp ライブラリを使用してください)。

于 2013-02-09T20:41:40.067 に答える
0

クライアントが smtp サーバーに接続できる場合は、Web サーバーを使用するのではなく、smtp サーバーに接続してください。PowerShell がインストールされている場合、emais を送信するためのコマンドレットが組み込まれています。バッチ スクリプトで powershell.exe を実行し、実行するスクリプト ブロックを指定するだけです。

于 2013-02-09T23:40:26.193 に答える