BlackRay пишет:можно. просто у меня пока плохо получается писать скриптовые оболочки для екзешников
В приложении исполняемый файл вот с таким исходным кодом(Visual C):
#define WIN32_LEAN_AND_MEAN
#include <Windows.h>
#include <WinSock2.h>
#include <stdio.h>
#pragma comment(lib, "Ws2_32.lib")
int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPSTR lpCmdLine, int nCmdShow)
{
WSADATA wsaData;
sockaddr_in service;
SOCKET Socket;
DWORD ip[5] = {0};
if(WSAStartup(MAKEWORD(2, 2), &wsaData))
{
WSACleanup();
return -2;
}
Socket = socket(AF_INET, SOCK_STREAM, IPPROTO_TCP);
sscanf(lpCmdLine, "%u.%u.%u.%u:%u", ip, ip+1, ip+2, ip+3, ip+4);
service.sin_family = AF_INET;
service.sin_addr.S_un.S_un_b.s_b1 = (BYTE)ip[0];
service.sin_addr.S_un.S_un_b.s_b2 = (BYTE)ip[1];
service.sin_addr.S_un.S_un_b.s_b3 = (BYTE)ip[2];
service.sin_addr.S_un.S_un_b.s_b4 = (BYTE)ip[3];
service.sin_port = htons((WORD)ip[4]);
if(connect(Socket, (SOCKADDR *)&service, sizeof(service))==SOCKET_ERROR)
{
WSACleanup();
int err = WSAGetLastError();
if(!err)
return -1;
return err;
}
closesocket(Socket);
WSACleanup();
return 0;
}
Пример использования скриптом:
Set WshShell = CreateObject("WScript.Shell")
MsgBox WshShell.Run("temp.exe 85.254.12.12:25565", 0, 1)
Должен возвращать -1 если порт закрыт и 0 если открыт. любое другое значение говорит о том, что проверка не удалась.
Post's attachmentstemp.zip 3.45 kb, 4 downloads since 2012-09-18
You don't have the permssions to download the attachments of this post.