Задать вопрос
@mihass

Может ли cmd отправить результат выполнения команды в интернет?

У нас есть сервис, которому необходимо для проведения некоторого анализа получать от юзера выхлоп команды traceroute, ну или tracert в винде. tracert должен быть выполнен от пользователя к нам. При этом пользователю нужно как можно меньше действий произвести. Рассказывать как запустить cmd, потом tracert а потом еще и результаты копировать, это не наш путь.
Возникла такая мысль. Сделать скрипт на bash batch-скрипт. Юзер запускает скрипт, который открывает cmd.exe и запускaет команду tracert, после выполнения которой ее результаты отсылаются на специальный URL. На bash В batch-скрипте можно такое сделать?

Еще спрошу на всякий случай, мало ли. Нет никакой возможности сделать tracert от пользователя к нам прямо в браузере? Вдруг есть такое а я не знаю.
  • Вопрос задан
  • 1200 просмотров
Подписаться 2 Оценить 6 комментариев
Пригласить эксперта
Ответы на вопрос 3
Moskus
@Moskus
Если речь идет о Windows, то не "bash" а "batch".

Вот такой скрипт сделает все. Запускать cmd.exe, чтобы его запустить, не нужно - его нужно просто куда-то сохранить и запустить из проводника. На своей стороне вам понадобится ftp-сервер. Имейте в виду, что ftp.exe не умеет пассивный режим. Дополнительные программы не требуются - ftp.exe входит в поставку Windows. С разными personal firewall-ами и т.п., если у пользователя таковые есть, вам придется бороться в любом случае. Так что рассмотрите возможность использования TeamViewer для удаленного доступа в любом случае.

@echo off
rem Переходим во временный каталог Windows 
cd %temp%
rem Запускаем трассировку (адрес сайта - поменять) и сохраняем в файл trace.dat (можно назвать уникальным именем, чтобы потом отличить от других пользователей)
tracert SiteToTrace.com > trace.dat
rem начинаем формировать файл команд для работы с FTP, см. синтаксис тут http://ss64.com/nt/ftp.html
echo open ftp.SiteToUploadTo.com >commands.ftp
echo FTPUserName >>commands.ftp
echo FTPPassword >>commands.ftp
echo cd  FTPFolderToUpload/ >>commands.ftp
echo binary >>commands.ftp
echo put trace.dat >>commands.ftp
echo disconnect >>commands.ftp
echo quit >>commands.ftp
rem Вызываем ftp.exe, передаем созданный список команд
ftp -i -s:commands.ftp
rem Подчищаем за собой
del /Q commands.ftp
del /Q trace.dat
Ответ написан
Комментировать
MaxDukov
@MaxDukov
впишусь в проект как SRE/DevOps.
возникает вопрос -а где пользователь возьмет этот скрипт?
запуск из bash cmd.exe - экая каша у Вас в голове. Для винды напишите скрипт в виде cmd-файла, он сам запустится в шеле cmd.exe. Для линуксов - на баше. передать в обоих случаях лучше бы каким-нибудь ftp - благо под обе системы оно есть в базе. Почта что там, что там по-умолчанию не настроена.
Ответ написан
@inkvizitor68sl
Linux-сисадмин с 8 летним стажем.
> Нет никакой возможности сделать tracert от пользователя к нам прямо в браузере?
Можно java-апплетом
www.codefromthe70s.org/traceroute_explained.aspx

Отправить POST-запросом на свой сервер можно через него же.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы