CSocket и порт 445
От: maximak  
Дата: 24.07.06 10:24
Оценка:
Исправлено форматирование текста. — SchweinDeBurg

Пытаюсь создать сокет:

CSocket m_listenSock = new СSocket();
Cstring serverIp = "127.0.0.1";
rb=m_listenSock->Create(445, SOCK_STREAM, serverIp);
if(!rb) {
    rc = m_listenSock->GetLastError();
}

При попытке использовать 445 порт получаю ошибку 10013 — Permission denied.
Да порт 445 стандартный порт используемый для CIFS протокола, но мне как раз инужно "слушать" этот порт.
Как побороть эту прорблему?

26.07.06 08:46: Перенесено модератором из 'MFC' — Odi$$ey
Re: CSocket и порт 445
От: ekamaloff Великобритания  
Дата: 24.07.06 10:42
Оценка: +1
Здравствуйте, maximak, Вы писали:

M>При попытке использовать 445 порт получаю ошибку 10013 — Permission denied.

M>Да порт 445 стандартный порт используемый для CIFS протокола, но мне как раз инужно "слушать" этот порт.
M>Как побороть эту прорблему?

На этом порту (включая и TCP и UDP) слушает системный процесс System. Протокол называется microsoft-ds. Два процесса (точнее два сокета) в системе не могут слушать на одном и том же порту. Поэтому у тебя навряд ли что-нибудь получится.

Откуда такое странное требование использовать именно 445 порт?
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re[2]: CSocket и порт 445
От: maximak  
Дата: 25.07.06 05:45
Оценка:
Здравствуйте, ekamaloff, Вы писали:

E>Здравствуйте, maximak, Вы писали:


M>>При попытке использовать 445 порт получаю ошибку 10013 — Permission denied.

M>>Да порт 445 стандартный порт используемый для CIFS протокола, но мне как раз инужно "слушать" этот порт.
M>>Как побороть эту прорблему?

E>На этом порту (включая и TCP и UDP) слушает системный процесс System. Протокол называется microsoft-ds. Два процесса (точнее два сокета) в системе не могут слушать на одном и том же порту. Поэтому у тебя навряд ли что-нибудь получится.


E>Откуда такое странное требование использовать именно 445 порт?


Стоит задача подменить стандартный виндовый сервис отвечающий за CIFS (SMB) своим
Re[3]: CSocket и порт 445
От: _ks_  
Дата: 25.07.06 08:05
Оценка:
Здравствуйте, maximak, Вы писали:

E>>Откуда такое странное требование использовать именно 445 порт?


M>Стоит задача подменить стандартный виндовый сервис отвечающий за CIFS (SMB) своим


Остановите этот сервис перпед запуском своего, чтобы освободить порт.
Re[4]: CSocket и порт 445
От: maximak  
Дата: 25.07.06 12:30
Оценка:
Здравствуйте, _ks_, Вы писали:

M>>Стоит задача подменить стандартный виндовый сервис отвечающий за CIFS (SMB) своим


__>Остановите этот сервис перпед запуском своего, чтобы освободить порт.


Остановил я сервис Server (если это конечно действительно он, но по крайней мере теперь я не могу открыть по сетке расшаренные каталоги), но все равно я не могу создать сокет с портом 445, возвращается таже самая ошибка 10013
Re[5]: CSocket и порт 445
От: _ks_  
Дата: 25.07.06 12:37
Оценка:
Здравствуйте, maximak, Вы писали:

M>Здравствуйте, _ks_, Вы писали:


M>>>Стоит задача подменить стандартный виндовый сервис отвечающий за CIFS (SMB) своим


__>>Остановите этот сервис перпед запуском своего, чтобы освободить порт.


M>Остановил я сервис Server (если это конечно действительно он, но по крайней мере теперь я не могу открыть по сетке расшаренные каталоги), но все равно я не могу создать сокет с портом 445, возвращается таже самая ошибка 10013


Значит не оно.
Коммандой

netstat -a

можете посмотреть слушает ли кто-нить на этом порту.
Если слушает, то есть утилита, не помню точного названия, от sysinternals — tcpview. Она вам еще и покажет то приложение, которое слушает на этом порту.

А вообще с такими вопросами Вам надо в форум http://rsdn.ru/forum/?group=network
Re[5]: CSocket и порт 445
От: ekamaloff Великобритания  
Дата: 25.07.06 12:51
Оценка:
Здравствуйте, maximak, Вы писали:

M>Остановил я сервис Server (если это конечно действительно он, но по крайней мере теперь я не могу открыть по сетке расшаренные каталоги)


Кто сказал что это сервис Server? На 445 порту слушает System, он не является сервисом. Поищи в инете по microsoft-ds, может найдешь, как его можно остановить .
... << RSDN@Home 1.1.4 stable SR1 rev. 568>>
It is always bad to give advices, but you will be never forgiven for a good one.
Oscar Wilde
Re: CSocket и порт 445
От: Аноним  
Дата: 26.07.06 04:06
Оценка:
Здравствуйте, maximak, Вы писали:

А он случаем уже не прослушивается ли?
Re[6]: CSocket и порт 445
От: crea7or http://crea7or.spb.ru
Дата: 03.09.06 13:35
Оценка:
Здравствуйте, ekamaloff, Вы писали:

E>Здравствуйте, maximak, Вы писали:


M>>Остановил я сервис Server (если это конечно действительно он, но по крайней мере теперь я не могу открыть по сетке расшаренные каталоги)


E>Кто сказал что это сервис Server? На 445 порту слушает System, он не является сервисом. Поищи в инете по microsoft-ds, может найдешь, как его можно остановить .


To disable listening on TCP port 445, two methods are possible:
disable NetBT driver
add a value in the registry, to disable transport of CIFS in TCP

In both cases, a reboot of the system is necessary because port 445 is opened by
the NetBT driver at system startup.

We prefer to use the second method. With the regedit tool, the following value
can be added in the registry:

Key: HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters
Value: SmbDeviceEnabled
Type: DWORD value (REG_DWORD)
Content: 0 (to disable)

After a reboot, TCP port 445 will no longer be opened by the NetBT driver.
Re[2]: CSocket и порт 445
От: Vladimir D Belousov Россия  
Дата: 03.09.06 17:11
Оценка:
Здравствуйте, ekamaloff, Вы писали:

E>Здравствуйте, maximak, Вы писали:


M>>При попытке использовать 445 порт получаю ошибку 10013 — Permission denied.

M>>Да порт 445 стандартный порт используемый для CIFS протокола, но мне как раз инужно "слушать" этот порт.
M>>Как побороть эту прорблему?

E>На этом порту (включая и TCP и UDP) слушает системный процесс System. Протокол называется microsoft-ds. Два процесса (точнее два сокета) в системе не могут слушать на одном и том же порту. Поэтому у тебя навряд ли что-нибудь получится.


E>Откуда такое странное требование использовать именно 445 порт?


Не хочу никого обидеть, но от какого пользователя выполняется bind ?
Просто не 10047 же (WSAEADDRINUSE), а 10013 (WSAEACCESS).
Как я понял, bind возвращает ошибку?
--
Спасибо
Re[3]: CSocket и порт 445
От: Vladimir D Belousov Россия  
Дата: 03.09.06 17:13
Оценка:
Здравствуйте, Vladimir D Belousov, Вы писали:

VDB>Здравствуйте, ekamaloff, Вы писали:


E>>Здравствуйте, maximak, Вы писали:


M>>>При попытке использовать 445 порт получаю ошибку 10013 — Permission denied.

M>>>Да порт 445 стандартный порт используемый для CIFS протокола, но мне как раз инужно "слушать" этот порт.
M>>>Как побороть эту прорблему?

E>>На этом порту (включая и TCP и UDP) слушает системный процесс System. Протокол называется microsoft-ds. Два процесса (точнее два сокета) в системе не могут слушать на одном и том же порту. Поэтому у тебя навряд ли что-нибудь получится.


E>>Откуда такое странное требование использовать именно 445 порт?


VDB>Не хочу никого обидеть, но от какого пользователя выполняется bind ?

VDB>Просто не 10047 же (WSAEADDRINUSE), а 10013 (WSAEACCESS).
VDB>Как я понял, bind возвращает ошибку?

Ой, на дату не посмотрел.
--
Спасибо
Re[3]: CSocket и порт 445
От: maximak  
Дата: 04.09.06 03:42
Оценка:
Здравствуйте, Vladimir D Belousov, Вы писали:

VDB>Здравствуйте, ekamaloff, Вы писали:


E>>Здравствуйте, maximak, Вы писали:


M>>>При попытке использовать 445 порт получаю ошибку 10013 — Permission denied.

M>>>Да порт 445 стандартный порт используемый для CIFS протокола, но мне как раз инужно "слушать" этот порт.
M>>>Как побороть эту прорблему?

E>>На этом порту (включая и TCP и UDP) слушает системный процесс System. Протокол называется microsoft-ds. Два процесса (точнее два сокета) в системе не могут слушать на одном и том же порту. Поэтому у тебя навряд ли что-нибудь получится.


E>>Откуда такое странное требование использовать именно 445 порт?


VDB>Не хочу никого обидеть, но от какого пользователя выполняется bind ?

VDB>Просто не 10047 же (WSAEADDRINUSE), а 10013 (WSAEACCESS).
VDB>Как я понял, bind возвращает ошибку?

Все делается под админом естествено.
Лекарство написал выше crea7or.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.