Как проверить есть ли локальное сетевое соединение
Перейти к содержимому

Как проверить есть ли локальное сетевое соединение

  • автор:

Определение состояния подключения локальной системы и способов инициации или завершения подключения к Интернету с помощью Visual Basic .NET или Visual Basic 2005

В этой статье показано, как определить состояние подключения локальной системы и как инициировать или завершить подключение к Интернету с помощью Visual Basic .NET или Visual Basic 2005.

Оригинальная версия продукта: Visual Studio
Исходный номер базы знаний: 821770

Аннотация

В этой пошаговой InternetGetConnectedState статье описывается, как определить подключенное состояние локальной системы с помощью функции, которую предоставляет API Microsoft Windows Internet (WinINet). В этой статье также описывается InternetDial WinINet , как инициировать подключение к Интернету и как завершить подключение к Интернету с помощью функции API InternetHangUp WinINet и функции API.

WinINet API — это набор функций, позволяющих приложениям взаимодействовать с Gopher, протоколом FTP и протоколом HTTP для доступа к нескольким ресурсам в Интернете. Функция InternetGetConnectedState возвращает значение True или False в зависимости от того, существует ли соединение. После вызова функции InternetGetConnectedState параметр lpdwFlags содержит предопределенное значение, которое предоставляет дополнительные сведения о подключении. Например, значение, содержащееся в IpdwFlags , может указывать на то, что подключением является локальное сетевое подключение, модемное подключение или другое подключение. Можно определить, существует ли соединение из возвращаемого значения функции InternetGetConnectedState .

Когда вызов InternetGetconnectionState функции возвращает значение True, существует сетевое подключение. Однако это не гарантирует, что у вас есть доступ к данным или доступ к веб-сайтам по сети.

Функция InternetDial инициирует подключение к Интернету с помощью модема. Параметр lpszConnectoid указывает имя соединения с абонентом, которое использует InternetDial функция. С помощью функции InternetHangUp WinINet API можно указать модему завершить подключение, указанное параметром dwConnection .

Пошаговый пример

  1. Запустите Microsoft Visual Studio .NET или Microsoft Visual Studio 2005.
  2. В меню Файл выберите пункт Создать и затем пункт Проект.
  3. В разделе «Типы проектов» щелкните «Проекты Visual Basic».

Примечание. В Visual Studio 2005 щелкните Visual Basic в разделе «Типы проектов».

Private Declare Function InternetGetConnectedState Lib "wininet.dll" (ByRef lpdwFlags As Int32, _ ByVal dwReserved As Int32) As Boolean Private Declare Function InternetDial Lib "Wininet.dll" (ByVal hwndParent As IntPtr, _ ByVal lpszConnectoid As String, ByVal dwFlags As Int32, ByRef lpdwConnection As Int32, _ ByVal dwReserved As Int32) As Int32 Private Declare Function InternetHangUp Lib "Wininet.dll" _ (ByVal lpdwConnection As Int32, ByVal dwReserved As Int32) As Int32 Private Enum Flags As Integer 'Local system uses a LAN to connect to the Internet. INTERNET_CONNECTION_LAN = &H2 'Local system uses a modem to connect to the Internet. INTERNET_CONNECTION_MODEM = &H1 'Local system uses a proxy server to connect to the Internet. INTERNET_CONNECTION_PROXY = &H4 'Local system has RAS installed. INTERNET_RAS_INSTALLED = &H10 End Enum 'Declaration Used For InternetDialUp. Private Enum DialUpOptions As Integer INTERNET_DIAL_UNATTENDED = &H8000 INTERNET_DIAL_SHOW_OFFLINE = &H4000 INTERNET_DIAL_FORCE_PROMPT = &H2000 End Enum Private Const ERROR_SUCCESS = &H0 Private Const ERROR_INVALID_PARAMETER = &H87 Private mlConnection As Int32 
Dim lngFlags As Long If InternetGetConnectedState(lngFlags, 0) Then 'connected. If lngFlags And Flags.INTERNET_CONNECTION_LAN Then 'LAN connection. MsgBox("LAN connection.") ElseIf lngFlags And Flags.INTERNET_CONNECTION_MODEM Then 'Modem connection. MsgBox("Modem connection.") ElseIf lngFlags And Flags.INTERNET_CONNECTION_PROXY Then 'Proxy connection. MsgBox("Proxy connection.") End If Else 'not connected. MsgBox("Not connected.") End If 
Dim DResult As Int32 DResult = InternetDial(Me.Handle, "My Connection", DialUpOptions.INTERNET_DIAL_FORCE_PROMPT, mlConnection, 0) If (DResult = ERROR_SUCCESS) Then MessageBox.Show("Dial Up Successful", "Dial-Up Connection") Else MessageBox.Show("UnSuccessFull Error Code" & DResult, "Dial-Up Connection") End If 

Примечание. Замените «Мое подключение» именем подключения на компьютере.

Dim Result As Int32 If Not (mlConnection = 0) Then Result = InternetHangUp(mlConnection, 0&) If Result = 0 Then MessageBox.Show("Hang up successful", "Hang Up Connection") Else MessageBox.Show("Hang up NOT successful", "Hang Up Connection") End If Else MessageBox.Show("You must dial a connection first!", "Hang Up Connection") End If 

Проверка работы TT

  1. Запустите приложение, созданное в разделе » Пошаговый пример» этой статьи. Отобразится форма 1.
  2. Нажмите кнопку «Обнаружить подключение«, а затем обратите внимание на текущее состояние подключения локального компьютера.
  3. Нажмите кнопку «Нажать вверх». Отобразится диалоговое окно подключения с подключением.
  4. Нажмите кнопку «Зависнуть». Подключение к Интернету, установленное на шаге 3, заканчивается.

Ссылки

Дополнительные сведения см. на следующих веб-сайтах:

  • Сведения о WinINet
  • Функции WinINet
  • Функция InternetGetConnectedState (winineti.h)
  • Функция InternetDial (winineti.h)
  • Функция InternetHangUp (winineti.h)

Как проверить, есть ли у меня локальная сеть?

Подключился сегодня к Стриму и хочу проверить, действительно ли мне подключили бесплатную локальную сеть!

Лучший ответ
пуск — (панель управления) — сетевые подключения
Остальные ответы
мой компьютер\сетевое окружение.
Зайди в Сетевое окружение и нажми » Отобразить сетевые подключения»
Пуск-Выполнить-cmd-Ok-ipconfig/all
Пуск-Выполнить-cmd-Ok-net use

Локальная сеть всегда бесплатная. Поскольку тебя подключили значит все ок.
Посмотри с зади есть дупло типа телефонного. Значит сетевая плата есть. А остальное уже другой вопрос.

Похожие вопросы
Ваш браузер устарел

Мы постоянно добавляем новый функционал в основной интерфейс проекта. К сожалению, старые браузеры не в состоянии качественно работать с современными программными продуктами. Для корректной работы используйте последние версии браузеров Chrome, Mozilla Firefox, Opera, Microsoft Edge или установите браузер Atom.

Команды для проверки и исправления настроек сети

Я уже писал, о том, что такое IP-адреса и как проверить, под каким адресом вас видит внешний мир. Однако часто этой информации недостаточно для того, чтобы понять, какой все-таки адрес присвоен вашей сетевой карте, а также провести диагностику проблем подключения. Приведу список команд, которые можно использовать. (также у меня на сайте можно прочитать про визуальную настройку сетевых подключений)

Для начала необходимо открыть командную строку. Делается это так: нажимаете кнопку пуск, выбираете пункт «выполнить».

Выполнить

Альтернативные способ — нужно нажать клавишу Win (между Ctrl и Alt) и R одновременно, этот способ работает также и на Висте

Появляется окошко, в которое нужно вписать cmd и нажать ОК

Выполнить cmd

Командная строка

Появляется та самая командная строка

В ней можно набирать и «вводить» команды, нажимая Enter. Результаты можно копировать — если нажать правую кнопку можно выделить нужный кусок, далее нужно еще раз нажать правую кнопку мыши.

Команда ping

Первая команда, с которой нужно познакомиться — это ping, проверяющую доступность заданного адреса. Введите команду ping 127.0.0.1. Должно получиться что-то такое (если команда не ping не работает, то, возможно, решить проблему поможет инструкция по исправлению ошибки cmd no command):

C:\Documents and Settings\Администратор>ping 127.0.0.1

Обмен пакетами с 127.0.0.1 по 32 байт:

Ответ от 127.0.0.1: число байт=32 время

Как мы видим, на адрес 127.0.0.1 было отправлено 4 пакета, и они все достигли цели. Что же это был за адрес и почему я был уверен, что пакеты дойдут? Ответ прост — пакеты никуда не отправлялись, а оставались на вашем компьютере. Этот адрес специфичен и используется для loopback — пакетов, не уходящих никуда вовне. Отлично, можем теперь «пропинговать» адрес этого сайта: 212.193.236.38

C:\Documents and Settings\Администратор>ping 212.193.236.38

Обмен пакетами с 212.193.236.38 по 32 байт:

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Ответ от 212.193.236.38: число байт=32 время=3мс TTL=55

Статистика Ping для 212.193.236.38:

Пакетов: отправлено = 4, получено = 4, потеряно = 0 (0% потерь),

Приблизительное время приема-передачи в мс:

Минимальное = 3мсек, Максимальное = 3 мсек, Среднее = 3 мсек

C:\Documents and Settings\Администратор>

Можно заметить только одно отличие — пакеты доходили не мгновенно, а за 3 миллисекунды. Надеюсь, у вас тоже не было никакой задержки при доставке пакетов, а главное — вы не увидели строчки типа

Превышен интервал ожидания для запроса.

Появление таких строчек означает, что часть пакетов теряется. Это свидетельствует о проблемах на линии или не сервере, к которомы вы обращаетесь.

Команда ipconfig

Следующая важная команда — ipconfig. Введите ее. У меня получилось вот так:

Настройка протокола IP для Windows

Ethernet — Ethernet адаптер:

DNS-суффикс этого подключения . . : srcc.msu.ru

Маска подсети . . . . . . . . . . : 255.255.255.0

Основной шлюз . . . . . . . . . . : 192.168.17.240

C:\Documents and Settings\Администратор>

В данном случае получился адрес 192.168.17.139. Можно этот адрес тоже пропинговать (вы пингуйте свой) — пакеты должны доходить мгновенно. Основной шлюз — это адрес, на который компьютер отправляет пакеты, не найдя подходящего адреса в своей сети. Так, в моем случае все пакеты, кроме пакетов на 192.168.17.* будут отправлены на 192.168.17.240, а тот компьюьтер уже должен решить, что с ними делать и куда их переправлять дальше. Примечание: локальная сеть, то есть те адреса, пакеты на которые не отправляются на шлюз, определяется при помощи маски — нолик на последнем месте и 255 на всех предыдующих как раз и означает, что может буть произвольным последнее число в IP-адресе.

Одно из стандартных действий при поиске проблем подключения — пропинговать свой шлюз. Если пакеты до него не доходят, то, видимо, проблема где-то рядом, например, поврежден или плохо воткнут сетевой шнур. Также стоит знать, где физически находится компьютер с вашим основным шлюзом — у провайдера, где-то в доме, а, может, это — можем в вашей квартире. Примечание: некоторые компьютеры настроены не откликаться на запросы команды ping. Поэтому отсутствие пинга — не стопроцентная гарантия отсутствия связи с адресом.

Более подробную информацию можно получить командой ipconfig /all. У меня получилось:

C:\Documents and Settings\Администратор>ipconfig /all

Настройка протокола IP для Windows

Имя компьютера . . . . . . . . . : sander

Основной DNS-суффикс . . . . . . : MSHOME

Тип узла. . . . . . . . . . . . . : смешанный

IP-маршрутизация включена . . . . : нет

WINS-прокси включен . . . . . . . : нет

Порядок просмотра суффиксов DNS . : MSHOME

Ethernet — Ethernet адаптер:

DNS-суффикс этого подключения . . : srcc.msu.ru

Описание . . . . . . . . . . . . : Broadcom 440x 10/100 Integrated Controller

Физический адрес. . . . . . . . . : 00-16-D4-63-03-65

Dhcp включен. . . . . . . . . . . : да

Автонастройка включена . . . . . : да

Маска подсети . . . . . . . . . . : 255.255.255.0

Основной шлюз . . . . . . . . . . : 192.168.17.240

DHCP-сервер . . . . . . . . . . . : 192.168.17.240

DNS-серверы . . . . . . . . . . . : 212.192.244.2

Аренда получена . . . . . . . . . : 2 февраля 2009 г. 11:00:28

Аренда истекает . . . . . . . . . : 9 февраля 2009 г. 11:00:28

C:\Documents and Settings\Администратор>

Самую полезную информацию я выделил жирным. DHCP-сервер выделил мне динамиеский адрес на основе моего MAC-адреса или физического адреса. Мои DNS-сервера — это 212.192.244.2 и 212.192.244.3.

Другие команды

Команда tracert позволяет проследить путь пакетов от вашего компьютера до цели. Попробуйте, например протрассировать путь до этого сайта: tracert it.sander.su. Строки в выводе трассировки есть точки, через которые проходит пакет на своем пути. Первой точкой будет ваш шлюз. Использование команды tracert позволяет найти источник проблем при связи с каким-либо адресом. Пакеты, посылаемые командой tracert, имеют показатель TTL — time to live — целое положительное число. Каждый маршрутизатор на пути уменьшает этот показатель на 1, если TTL падает до нуля, то трассировка заканчивается. По умолчанию используется начальный TTL равный 30, задать другое значение можно опцией -h.

Посмотреть таблицу маршрутизации можно командой route print, однако я не буду подробно останавливаться на ней — это тема отдельной статьи.

Команда netstat позволяет просмотреть список установленных соединений. В режиме по умолчанию команда пытается преобразовывать все IP-адреса в доманные имена (при помощи службы DNS), что может работать медленно. Если вас устраивает числовой вывод, вызывайте команду netstat -n. Если вас также интересуют открытые порты на вашем компьютере (что означает, что он готов принимать соединения по этим портам), то вызовите команду с ключом -a: например, netstat -na. Можно также вызвать команду netstat -nb, чтобы посмотреть, какие процессы установили соединения. Команда netstat -r эквивалентна команде route print.

Команда netsh позволяет изменить настройки сети через командную строку. Введите команду netsh interface ip show address. У меня получилось:

C:\Documents and Settings\Администратор>ipconfig /all

Настройка интерфейса «Ethernet»

DHCP разрешен: да

Метрика интерфейса: 0

Запоминаем название (Ethernet) и теперь командой netsh interface ip set address name=»Ethernet» source=static addr=192.168.0.33 mask=255.255.255.0 gateway=192.168.0.1 gwmetric=30 задаем IP-адрес. Для динамического подключения: netsh interface ip set address name=»Ethernet» source=dhcp. На этом сайте также можно прочитать об интерактивной настройке параметров сети

Компьютер не виден (не видит другие ПК) в локальном сетевом окружении

Компьютер не виден (не видит другие ПК) в локальной сетевом окружении по ряду причин:
— не верный тип сети,
— у ПК разные рабочие группы,
— заданы неверные параметры IP,
— требуется правка параметра реестра,
— не настроены параметры общего доступа,
— подключение по сети блокирует брандмауэр или антивирус,
— не настроены сетевые службы Microsoft Windows в диспетчере задач,
— отключен протокол SMB v1.0 отвечающий за составление и отображение списка компьютеров в сети.
В этой статье кратко описано как сделать ПК в локальной сети видимым и видящим все остальные компьютеры.
+ Расскажем, что делать при появлении ошибки подключения к сетевому принтеру – 0x0000011b.

Настройка Windows 10 для отображения компьютера и его видимости в локальном сетевом окружении:

Для настройки windows 10 с целью отображения компьютера и его видимости в локальном сетевом окружении необходимо отладить все компьютеры локальной сети по следующей схеме:

Меняем тип сети с общедоступной на частную

1. Меняем тип сети в сетевом профиле Wi-Fi или Ethernet с «Общедоступной» на «Частную» на всех компьютерах (заходим в «Пуск» => «Параметры ПК» => «Сеть и интернет» => «Состояние» => «Изменить свойства подключения» => выбираем сетевой профиль «Частные».

Изменяем тип рабочей группы с workgroup на homegroup

2. Изменяем рабочую группу с «WORKGROUP» на «HOMEGROUP» у всех ПК локальной сети: «Пуск» => нажимаем правой кнопкой мыши на «Этот компьютер (или Мой компьютер)» => заходим в «Свойства» => в правой части окна нажимаем «Изменить параметры» => «Изменить» => меняем название рабочей группы на «HOMEGROUP».

Изменяем параметры IP сетевого контроллера

3. Изменяем параметры IP сетевого контроллера: «Пуск» => «Параметры ПК» => «Сеть и интернет» => «Состояние» => «Настройка параметров адаптера» => выбираем источник подключения к локальной сети «Wi-Fi» или «Ethernet» => жмем по нему правой кнопкой мыши и заходим в свойства, выбираем «IP версии 4 (TCP /IPv4)» и жмём «Свойства» => ставим на всех ПК «Получить IP-адрес автоматически» либо настраиваем вручную.

Правим параметр ветки реестра allowlnsecureguestauth на 1

4. В реестре отсутствует необходимый параметр, либо его значение не соответствует требуемому: Жмём «WIN + R» => пишем «regedit» => следуем по ветке реестра ОС windows «HKLM\SYSTEM\CurrentControlSet\Services\LanmanWorkstation\Parametrs» в правом окне ищем параметр «AllowlnsecureGuestAuth» => щелкаем по «AllowlnsecureGuestAuth» и ставим значение параметра «1».
Если параметр «AllowlnsecureGuestAuth», в правой части раздела реестра «Parametrs», отсутствует => жмём правой кнопкой мыши на чистое поле => «Создать» => «Параметр DWORD (32 бита)» => присваиваем название «AllowlnsecureGuestAuth» => присваиваем значение «1».

Настраиваем параметры общего доступа по сети

5. Для настройки параметров общего доступа делаем следующее: «Пуск» => «Параметры ПК» => «Сеть и интернет» => «Параметры общего доступа» => изменяем параметры общего доступа для различных сетевых профилей на «Включить сетевое обнаружение», «Включить общий доступ к файлам и принтерам», «Включить общий доступ, чтобы сетевые пользователи могли читать и записывать сетевые фалы в общих папках», «Использовать 128-битное шифрование», «Отключить общий доступ с парольной защитой».

При необходимости отключаем антивирус и сбрасываем настройки брандмауэра

6. Для исключения блокировки антивирусом – отключаем антивирус и встроенный в него файрвол (межсетевой экран), либо удаляем его, для исключения воздействия на видимость в сети брандмауэра – сбрасываем его настройки «По умолчанию» => «Пуск» => «Параметры ПК» «Обновление и безопасность» => «Безопасность Windows» => «Брандмауэр и защита сети» => «Восстановить для брандмауэров значения по умолчанию».

Настраиваем сетевые службы windows

  • «DNS-клиент»,
  • «Обнаружение SSDP»,
  • «Публикация ресурсов обнаружения функции»,
  • «Узел универсальных PNP-устройств»,
  • «Хост поставщика функции обнаружения»,

Включаем server, client, автоматическое удаление протокола SMB 1.0

8. Для включения протокола SMB v1.0 делаем так: «Пуск» => «Параметры ПК» => «Приложения» => «Приложения и возможности» => «Программы и компоненты» => «Включение или отключение компонентов Windows» => выбираем компонент «SMB 1.0/CIFS File Sharing Support» и включаем все три параметра «SMB 1.0/CIFS Server», «SMB 1.0/CIFS Client» и «Автоматическое удаление протокола SMB 1.0/CIFS».

После того как детально выполнили все эти параметры перезагружаем ПК и наслаждаемся тем что компьютер виден (и видит другие ПК) в локальном сетевом окружении.

Устранение кода 0x0000011b windows — ошибки подключения к сетевому принтеру

При появлении ошибки подключения к сетевому принтеру – код windows 0x0000011b, необходимо произвести правку раздела реестра ОС:
Нажимаем «WIN+R» => «regedit» => «HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Print» => в правом окне ищем параметр «RpcAuthnLevelPrivacyEnabled» и ставим значение «0».
Если параметр «RpcAuthnLevelPrivacyEnabled» отсутствует => жмём правой кнопкой мыши на чистое поле => «Создать» => «Параметр DWORD (32 бита)» => присваиваем название «RpcAuthnLevelPrivacyEnabled» => присваиваем значение «0».
Теперь вы сможете добавить сетевой принтер и установить на него драйвера на свой ПК в локальной сети офиса.

Компьютер не виден в локальной сети windows 7 | 8 | 10 | 11?

У Вас:
— компьютер не виден в локальной сети windows 7 | 8 | 8.1 | 10 | 11?
— не отображается сетевой принтер?
— перестала открываться на одном из сетевых компьютерах сетевая папка?
— при попытке зайти на сетевой (локальный) компьютер запрашивается логин и пароль?
— сетевой принтер то печатает то нет?
— компьютер постоянно пропадает из локальной сети?
— нет общего доступа к сетевой папке?
В вашем офисе вам нужно:
— создать локальную сеть и объединить все компьютеры?
— создать локальную сетевую папку с общим доступом к ней с любого ПК в локальной сети?
— нужно расшарить сетевой принтер, плоттер, МФУ для печати из локальной сети?
— ваша организация растет, задачи становятся более сложными и необходимо установить и настроить сервер, принт-сервер, файловый сервер, ftp-сервер, вам нужно настроить работу через облачное решение?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *