C # Найти локальную / удаленную базу Addr по идентификатору процесса - PullRequest
0 голосов
/ 12 мая 2011

Я использовал deviare API, чтобы помочь мне узнать PID процессов, которые в данный момент выполняются на моем рабочем столе.Может ли кто-нибудь помочь мне или объяснить, как получить локальный / удаленный IP-адрес, а также номера портов на основе имеющегося у меня PID?(Какой API я должен использовать?)

Я хочу что-то вроде этого:

Public ArrayList GetRemoteAdder(int PID)
{
  return remoteAddr;
}

Я хочу получить удаленный IP-адрес, к которому процесс обращается, на основе PID, который яиметь.

1 Ответ

0 голосов
/ 12 мая 2011

Вероятно, не самый хороший способ, но быстрый:

Вызовите netstat -n -o и проанализируйте вывод. Возможно, было бы лучше прибегнуть к магии Win32, чтобы сделать это через P / Invoke, но ваш сценарий использования (и частота вызовов. Для разовой вещи это может быть достаточно) неясно.

Подпись тоже не имеет для меня большого смысла: что бы вернуть GetRemoteAdder ()? Каждый процесс может легко прослушивать несколько портов или открывать несколько исходящих соединений, поэтому одна строка, вероятно, не поможет.

...