Обнаружение пользователя по данным Winsock? - PullRequest
2 голосов
/ 03 июля 2010

Например я создаю сокет, используя winsock под учетной записью с именем AdminЕсть ли возможность определить, какой пользователь создал этот сокет?Я хотел бы написать в моей программе: этот сокет был создан "Admin".я использую с ++

Ответы [ 2 ]

1 голос
/ 03 июля 2010

Сокеты не являются защищаемыми объектами (см. здесь ) и поэтому не могут иметь дескриптор безопасности, связанный с ними, и поэтому нет никакой возможности узнать учетную запись пользователя, «создавшего сокет».

Вы можете использовать GetExtendedTcpTable , чтобы получить информацию о соединениях, а затем найти PID процесса, который создал сокет;тогда вы могли бы решить использовать что-то на основе процесса ...

Почему вы все равно хотите это сделать?

0 голосов
/ 03 июля 2010

netstat -o должен дать вам идентификаторы процессов, которые создали сокет;оттуда вы можете найти владельца процесса.Если ничего не помогает, вы можете запустить netstat в новом процессе и проанализировать вывод.

...