|
Сканирование сетевого порта |
☑ |
0
Slon747
15.03.17
✎
14:52
|
Как можно средствами 1С (возможно используя WScript.Shell) проверить, открыт ли сетевой порт?
|
|
1
Slon747
16.03.17
✎
17:42
|
up.
|
|
2
Garykom
гуру
16.03.17
✎
18:09
|
какой порт? там откуда сканируем (не блочит ли файрвол) или на удаленном компе?
Может сначала слегка в теории разобраться а? Потом и глупые/смешные вопросы пропадут сами
|
|
3
Serginio1
16.03.17
✎
18:19
|
public static int GetAvailablePort(int port)
{
IPGlobalProperties ipGlobalProperties = IPGlobalProperties.GetIPGlobalProperties();
TcpConnectionInformation[] tcpConnInfoArray = ipGlobalProperties.GetActiveTcpConnections();
var set = new HashSet<int>();
foreach (TcpConnectionInformation tcpi in tcpConnInfoArray)
{
set.Add(tcpi.LocalEndPoint.Port);
}
for(var i=port; i< 49152; i++)
{
if (!set.Contains(i))
return i;
}
return port;
}
|
|
4
Garykom
гуру
16.03.17
✎
18:26
|
(3) И каким образом это "получение списка всех в теквремя используемых локальных портов, затем возврат минимального неиспользуемого номера порта" поможет ТС?
|
|
5
Garykom
гуру
16.03.17
✎
18:28
|
(4)+ блин хотя бы цикл с 1024 сделать чтобы проблемы не огрести заняв своим софтом некий стандартный порт
|
|
6
Ufo_Attack
16.03.17
✎
18:57
|
(0) Какую задачу решаешь?
|
|
7
Slon747
17.03.17
✎
09:37
|
(6) Проверить, открыт ли сетевой порт на другом пк в локальной сети.
|
|
8
eklmn
гуру
17.03.17
✎
10:11
|
shell = wscript.createobject("wscript.shell")
shell.run "powershell -command (New-Object System.Net.Sockets.TcpClient).Connect('SERVER', PORT)"
|
|
9
eklmn
гуру
17.03.17
✎
10:13
|
+telnet client не забудь установить в стандартных виндовсах
|
|
10
Garykom
гуру
17.03.17
✎
12:27
|
(7) Прикинь он там может быть открыт (не запрещен доступ по нему) но его никто не слушает
|
|
11
abibas
17.03.17
✎
12:39
|
Function ScanPort(Host, Port)
Set x = CreateObject("MSWINSOCK.Winsock.1")
x.RemoteHost = Host
x.RemotePort = Port
x.Connect
count = 0
State = x.State
Pause = 0
Do While x.State <> 7
If count = 10 Then
Exit Do
End if
Pause = Pause + 10
count = count + 1
wscript.sleep(Pause)
Loop
ScanPort = x.State
Set x = Nothing
End Function
ScanPort = 7 порт открыт, другое - закрыт.
В 1С уже сам перенесешь?
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший