Архив метки: сеть

Windows — Изменение IP-адреса и параметров TCP/IP утилитой netsh

В Windows есть замечательная команда netsh, которая позволяет из скрипта совершать самые разнообразные действия по настройке сети. Одна из часто встречающихся задач — изменение IP-адреса скриптом.

Изменить адрес с помощью netsh легко, нужно только знать, как называется интерфейс, на который будет повешен этот адрес. В русской версии Windows он обычно называется «Подключение по локальной сети».

Пример настройки адреса. Возьмем какой-нибудь 192.168.24.33:

netsh interface ip set address name="Подключение по локальной сети" source=static addr=192.168.24.33 mask=255.255.255.0 gateway=none

Другой пример с тем же адресом и с указанием основного шлюза 192.168.24.1:

netsh interface ip set address name="Подключение по локальной сети" source=static addr=192.168.24.33 mask=255.255.255.0 gateway=192.168.24.1 gwmetric=1

С помощью netsh можно, к примеру, очистить ARP-кэш (то же самое, что делает arp -d *):

netsh interface ip delete arpcache

Или сбросить стек TCP/IP в случае, когда он поврежден и подключение к интернету или локальной сети не работает:

netsh interface ip reset [log_filename]

Здесь log_filename — это имя файла для вывода в него лога, например, C:\ipreset.log. В Windows 2003, к слову, невозможно удалить и снова установить протокол TCP/IP в свойствах сетевого подключения, и в этом случае последняя команда весьма полезна.

Более того, с помощью netsh можно сбросить и Winsock. Это делается в случаях, когда его конфигурация повреждена — при этом может не работать интернет, а программы — выдавать ошибку открытия сокета:

netsh winsock reset

После этого нужно перезагрузить компьютер. Microsoft предупреждает о побочных эффектах, см. подробнее здесь.

Еще один интересный пример — разрешение удаленного управления компьютером в правилах встроенного брандмауэра Windows:

netsh firewall set service remoteadmin enable

Подобным образом можно настраивать любые правила файрвола из скрипта, для этого есть все возможности. В Windows Server 2008, Windows Vista и Windows 7 вместо netsh firewall  следует использовать netsh advfirewall firewall.

Дополнительная информация о netsh:

netsh ?

Добавляя через пробел команды и знак вопроса, можно изучить возможности netsh более детально:

netsh interface ip set ?
netsh firewall set ?

Утилита может работать и в режиме командной строки, для этого нужно просто запустить netsh без параметров.

См. также: Netsh — Википедия.

Windows — Определение MAC-адреса по IP, использование команды nbtstat

Определение MAC-адреса по IP

Как определить MAC-адрес, зная IP-адрес? Можно сначала попинговать компьютер или устройство по IP, а затем посмотреть таблицу ARP-записей. Здесь и далее 192.168.1.1 — это IP-адрес устройста, MAC которого нужно узнать. Пример:

ping 192.168.1.1
arp -a

Вы увидите таблицу вида:

Interface: 192.168.1.2 --- 0xb
  Internet Address      Physical Address      Type
  192.168.1.1           00-0b-2b-3f-4a-5c     dynamic
  192.168.1.255         ff-ff-ff-ff-ff-ff     static

В данном случае 00-0b-2b-3f-4a-5c — это и есть искомый MAC-адрес.

Если в сети используется NetBIOS, возможен и такой способ:

nbtstat -A 192.168.1.1

Далее посмотрим, что еще можно узнать с помощью команды nbtstat.

Просмотр таблицы NetBIOS

nbtstat -n

Просмотр содержимого кэша имен NetBIOS

nbtstat -c

Очистка содержимого кэша имен NetBIOS

nbtstat -R

Windows — Подключение сетевого принтера через net use

Сетевой принтер не подключается на LPT1?

В Windows XP и Windows Server 2003 пользователи, не являющиеся локальными администраторами, не могут использовать команду net use, чтобы назначить порт LPT для локального параллельного порта печати сетевому принтеру (см., например, http://support.microsoft.com/kb/313644/). Для обхода этой проблемы без выдачи пользователю администраторских прав нужно отключить LPT1 в диспетчере оборудования (из-под администратора, разумеется) или подключать сетевые принтеры на LPT2 и более высокие номера портов, например:

net use lpt2 \\server\printer /persistent:yes

Ошибка «На данном компьютере существует политика, препятствующая подключению к этой очереди печати» при попытке подключить сетевой принтер

Скорее всего, нужно сделать это с правами администратора.

Windows — Отключается сетевой диск

Иногда можно заметить, что сетевой диск в Windows отключился, хотя сервер вполне доступен. Такая ситуация возникает, если в течение некоторого времени рабочая станция не обращается к диску. По умолчанию этот тайм-аут (на сервере, не на рабочей станции!) равен 15 минутам, посмотреть можно следующей командой:

net config server

Изменение тайм-аута:

net config server /autodisconnect:N

Здесь N – это количество минут, соответствующее интервалу ожидания, по истечении которого будет прервано соединение с подключенным сетевым диском. Максимальное значение для данной команды — 65535.

Полное отключение тайм-аута:

net config server /autodisconnect:-1

См. также http://support.microsoft.com/kb/297684/ru.