Jump to content

Проблема


Recommended Posts

Мне нужно определить ip приложения!!! Тоесть когда оно запущено!

Чего? Ты сам то понял что спросил?

Link to comment
Share on other sites

Don418: Можеть ты имеешь в виду определение порта, которое приложение использует для связи?

Link to comment
Share on other sites

Don418: может PID приложения/процесса? Вообщем пиши конкретно угадывать сложно что ты именно хочешь определить, но IP приложение это только порты которые он юзает. Об этом было написанно выше.

Это совсем не то ...ошибся

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

Для CMD.exe если идёт определение процесса (уровня, номера и тд.)

%PROCESSOR_LEVEL% - Возвращает номер модификации процессора.

%PROCESSOR_IDENTFIER% - Возвращает описание процессора.

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

или же читай http://www.windowsfaq.ru/faq/cmdxp/

Edited by Indomito
Link to comment
Share on other sites

вот нашел исходник определения PID по имени процесса

bool GetProcessByExeName(DWORD* Pid,AnsiString ExeName)

{

HANDLE hProcessSnap = NULL;

PROCESSENTRY32 pe32 = {0};

AnsiString temp="";

hProcessSnap = CreateToolhelp32Snapshot(TH32CS_SNAPALL, NULL);

if(hProcessSnap == (void*)-1)

{

MessageBox(NULL, "oblom", "oblom", MB_OK|MB_ICONWARNING|MB_SYSTEMMODAL);

return false;

}

pe32.dwSize=sizeof(PROCESSENTRY32);

if(Process32First(hProcessSnap,&pe32)) temp=pe32.szExeFile;

if((temp.UpperCase()).Pos(ExeName))

{

*Pid= pe32.th32ProcessID;

CloseHandle (hProcessSnap);

return true;

}

pe32.dwSize=sizeof(PROCESSENTRY32);

while(Process32Next(hProcessSnap,&pe32))

{

temp=pe32.szExeFile;

if((temp.UpperCase()).Pos(ExeName))

{

*Pid= pe32.th32ProcessID;

CloseHandle(hProcessSnap);

return true;

}

pe32.dwSize=sizeof(PROCESSENTRY32);

}

CloseHandle(hProcessSnap);

*Pid=0;

return false;

}

Link to comment
Share on other sites

вот нашел исходник определения PID по имени процесса

Мне кажется, это не совсем в тему - здесь вопрос не по API-программированию на Си.

Не надо флудить :cool:

Для того чтобы узнать какие порты открыты в данный момент тем или иным приложением, или на какой порт/ИП удаленной системы обращается приложение, можно использовать Agnitum Outpost Firewall, хотя для просмотра открытых портов есть и встроенные средства.

Link to comment
Share on other sites

Don418: Экстрасенсов здесь нет. Выражайся яснее

IP может быть у одного из сетевых устройств (сетевой карты, модема) но к приложениям это никак не относится

Link to comment
Share on other sites

Если точнее мне надо поставить БОТА а чтоб его постаавить надо узнать ip сервера игры...

Тоесть я захожу в игру выбираю один из 4 серверов и начинаю играть!Как мне узнать адрес ip сервака на котром я играю...

Ну не понятно что за игра. Если КС то просто консоль открыть нужно там все пишется. Если не КС то на роутере можно пасматреть по каким портам кикие пакеты летят с ентого адреса и на какие адреса tcpdump -i имя интефейса | grep апишник клиета

Link to comment
Share on other sites

Мой метод:

1. Запомни (запиши на листочке) :D адрес игрового сервера к к. подключаешься.

2. Выйди из игры.

3. Пуск -> выполнить -> CMD

4. Набери ping <имя_сервера> (без ковычек)

В первой строчке будет:

Обмен данным с сервером ... [ip - адрес] - это то, что тебе нужно

То?

З.Ы. Надо конкретней формулировать вопрос...

Edited by Симаргл
Link to comment
Share on other sites

Don418

"netstat -b" покажет все текущие сетевые подключения (включая удаленный адрес и номера портов), с указанием породивших их процессов. Игра при этом, соответственно, должна быть запущена и подконнекчена к игровому серверу.

Превратить же текстовый адрес сервера в IP проще всего, действительно, при помощи пинга.

Link to comment
Share on other sites

Don418:

Поясню немного Shurr'а. Говоря текстовый адрес сервера он верояней всего имел ввиду его DNS-имя, к примеру текстовый адрес это - www.rambler.ru, а 84.80.98.45 его числовой эквивалент - IP-адрес.

З.Ы. Shurr: м.б. ты имел ввиду "netstat -а"?

А если ввести "netstat -an", то он покажет ip-адреса внешних подключений.

Edited by Симаргл
Link to comment
Share on other sites

Don418:

Поясню немного Shurr'а. Говоря текстовый адрес сервера он верояней всего имел ввиду его DNS-имя, к примеру текстовый адрес это - www.rambler.ru, а 84.80.98.45 его числовой эквивалент - IP-адрес.

З.Ы. Shurr: м.б. ты имел ввиду "netstat -а"?

А если ввести "netstat -an", то он покажет ip-адреса внешних подключений.

Да, я имел ввиду DNS-имя.

А насчет параметров - "-b" чтобы узнать имя процесса, мало ли кто еще куда подконнекчен в данный момент. Ну и ты прав, можно ввести -bn чтобы смотреть сразу IP-адреса. "-a" ИМХО, излишне.

Don418

ХМ

Как я писал выше в игре можно выбрать несколько серверов...Да к тому же откуда я знаю текстовый айпи!Так что думай!

Я же говорю, запусти игру, подключись в интересующему тебя серверу, а потом запускай netstat, и смотри куда законнекчена твоя игра. Можешь повторить процедуру для каждого из интересующих тебя серверов.

Давай на примере. Допустим, я хочу узнать, куда коннектится Opera, когда я загружаю страницу с этим топиком. Я нажимаю "обновить страницу" и в соседнем окне запускаю "netstat -bn". Среди всего прочего я вижу:

  Имя	Локальный адрес			   Внешний адрес		  Состояние	   PID TCP	192.168.241.7:1711	 217.16.27.104:80	   ESTABLISHED	 2680 [Opera.exe] TCP	192.168.241.7:1744	 83.222.5.38:80		 ESTABLISHED	 2680 [Opera.exe]

Это из тех, где имя процесса указано как Opera.exe - т.е. тот, который меня интересует. По логу видно, что Opera в данный момент соединилась с двумя серверами по 80 порту, т.е. http.

217.16.27.104 - это softbn.ru. это баннеры вверху форума.

83.222.5.38 - это softboard.ru.

Link to comment
Share on other sites

Shurr: Странно, а у меня такого параметра нет (-b); - winxp, sp2

Зато есть "netstat -o"

Имя	Локальный адрес		Внешний адрес		  Состояние	   PIDTCP	SEN:netbios-ssn	  192.168.36.56:1172	 ESTABLISHED	 4TCP	SEN:3715			 server01:5900		  TIME_WAIT	   0

З.Ы. У тебя какая система? Или это у меня глючный netstat?

Link to comment
Share on other sites

Win XP SP2. netstat.exe, 37376 байт от 18.08.04

Отображение статистики протокола и текущих сетевых подключений TCP/IP.NETSTAT [-a] [-b] [-e] [-n] [-o] [-p протокол] [-r] [-s] [-v] [интервал] -a			Отображение всех подключений и ожидающих портов. -b			Отображение исполняемого файла, участвующего в создании каждого			подключения, или ожидающего порта. Иногда известные исполняемые			файлы содержат множественные независимые компоненты. Тогда			отображается последовательность компонентов, участвующих в			создании подключения, либо ожидающий порт. В этом случае имя			исполняемого файла находится снизу в скобках [], сверху -			компонент, который им вызывается, и так до тех пор, пока не			достигается TCP/IP. Заметьте, что такой подход может занять			много времени и требует достаточных разрешений. -e			Отображение статистики Ethernet. Он может применяться вместе			с параметром -s. -n			Отображение адресов и номеров портов в числовом формате. -o			Отображение кода (ID) процесса каждого подключения. -p протокол   Отображение подключений для протокола, задаваемых этим			параметром. Допустимые значения: TCP, UDP, TCPv6 или UDPv6.			Используется вместе с параметром -s для отображения статистики			по протоколам. Допустимые значения: IP, IPv6, ICMP, ICMPv6,			TCP, TCPv6, UDP или UDPv6 -r			Отображение содержимого таблицы маршрутов. -s			Отображение статистических данных по протоколам. По умолчанию			данные отображаются для IP, IPv6, ICMP, ICMPv6, TCP, TCPv6, UDP			и UDPv6. Параметр -p позволяет указать подмножество выводящихся			данных. -v			При использовании с параметром -b, отображает последовательность			компонентов, участвующих в создании подключения, или ожидающий			порт для всех исполняемых файлов. интервал	  Повторный вывод статистических данных через указанный			промежуток времени в секундах.  Для прекращения вывода данных			нажмите клавиши CTRL+C. Если параметр не задан, сведения о			текущей конфигурации выводятся один раз. 
Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
 Share

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...