Введение
В обширном и взаимосвязанном мире интернета Система доменных имен (DNS) играет ключевую роль в преобразовании читаемых человеком доменных имен (например, www.example.com
) в понятные для машин IP-адреса (такие как 192.0.2.1
). Это преобразование необходимо для маршрутизации трафика по сетям и обеспечения того, чтобы пользователи могли беспрепятственно получать доступ к веб-сайтам, сервисам и ресурсам.
Когда возникают проблемы с разрешением DNS, сетевые администраторы и IT-специалисты нуждаются в надежных инструментах для диагностики и устранения неполадок. Одним из таких незаменимых инструментов является команда nslookup
. Эта утилита позволяет пользователям запрашивать DNS-серверы для получения информации о доменных именах, IP-адресах и различных DNS-записях.
Что такое nslookup
?
Определение nslookup
nslookup
расшифровывается как Name Server Lookup. Это инструмент командной строки, используемый для запроса DNS (Системы доменных имен) серверов с целью получения информации о доменных именах, IP-адресах и других DNS-записях. Обеспечивая DNS-запросы, nslookup
помогает пользователям и администраторам диагностировать и решать проблемы, связанные с DNS.
Роль nslookup
в диагностике сети
DNS является основой функционирования интернета, и любое нарушение в работе DNS-сервисов может привести к проблемам с доступом к веб-сайтам и онлайн-сервисам. nslookup
служит диагностической утилитой, которая может:
- Проверять конфигурации DNS-серверов.
- Подтверждать существование и конфигурацию DNS-записей.
- Обнаруживать проблемы с распространением DNS.
- Помогать в устранении проблем с подключением, связанных с DNS.
Предоставляя подробную информацию о DNS-запросах и ответах, nslookup
позволяет пользователям эффективно выявлять и устранять проблемы с DNS.
Различия между nslookup
и другими инструментами DNS
Хотя nslookup
является мощным инструментом, он не единственный доступный инструмент DNS. Другие заметные инструменты включают:
dig
(Domain Information Groper): Предлагает более детализированные и гибкие параметры запроса по сравнению сnslookup
. Предпочитается многими сетевыми администраторами за его исчерпывающий вывод.host
: Более простая утилита для выполнения DNS-запросов, идеальная для быстрых запросов без обширного вывода.
По сравнению с этими инструментами, nslookup
часто считается более удобным для пользователей, которые только начинают работать с диагностикой сети. Однако для продвинутых запросов и сценариев инструменты, такие как dig
, могут быть более подходящими.
История и предыстория
Происхождение nslookup
Команда nslookup
появилась в ранние дни интернета как часть набора инструментов BIND (Berkeley Internet Name Domain). Разработанная для упрощения запросов DNS и устранения неполадок, nslookup
стала стандартной утилитой на различных операционных системах, включая UNIX, Linux и Windows.
Эволюция инструмента с течением времени
С течением времени nslookup
претерпела несколько улучшений, направленных на повышение ее функциональности и удобства использования. Хотя ее основное назначение остается запросом DNS, обновления добавили такие функции, как:
- Интерактивный режим для выполнения нескольких запросов в рамках одной сессии.
- Поддержка запросов различных типов DNS-записей.
- Улучшенная обработка ошибок и информативные сообщения.
Несмотря на появление альтернативных инструментов, таких как dig
, nslookup
продолжает широко использоваться благодаря своей простоте и доступности на различных платформах.
Текущий статус и поддержка на различных операционных системах
Сегодня nslookup
является универсальным инструментом, доступным на большинстве операционных систем, включая:
- Windows: Предустановлен как часть операционной системы.
- macOS: Включен в сетевые утилиты системы.
- Linux/UNIX: Доступен по умолчанию или через менеджеры пакетов как часть утилит DNS.
Его постоянное присутствие на платформах делает nslookup
основным инструментом для диагностики DNS в различных вычислительных средах.
Основной синтаксис
Понимание основного синтаксиса команды nslookup
имеет решающее значение для эффективного использования ее возможностей. Общая структура выглядит следующим образом:
nslookup [options] [hostname] [DNS server]
Объяснение компонентов команды
nslookup
: Сама команда.[options]
: Необязательные флаги, которые изменяют поведение команды.[hostname]
: Доменное имя или IP-адрес, который вы хотите запросить.[DNS server]
: (Необязательно) Указывает DNS-сервер, который следует использовать для запроса. Если опущено, используется системный DNS-сервер по умолчанию.
Примеры простых команд nslookup
-
Базовый запрос имени хоста:
nslookup www.example.com
Получает IP-адрес, связанный с
www.example.com
, используя DNS-сервер по умолчанию. -
Обратный IP-запрос:
nslookup 93.184.216.34
Находит имя хоста, связанное с IP-адресом
93.184.216.34
. -
Указание DNS-сервера:
nslookup www.example.com 8.8.8.8
Запрашивает DNS-сервер Google Public (
8.8.8.8
) для получения IP-адресаwww.example.com
.
Общие примеры использования
Команда nslookup
является универсальной, предлагая различные функции для получения различных типов информации о DNS. Ниже приведены некоторые распространенные случаи использования с примерами команд и объяснениями.
Запрос DNS-записей
DNS-записи хранят информацию о домене, такую как его IP-адреса, почтовые серверы и псевдонимы. nslookup
может извлекать различные типы DNS-записей, включая:
- A (Address) Record: Соответствует домену IPv4-адресу.
- AAAA (IPv6 Address) Record: Соответствует домену IPv6-адресу.
- MX (Mail Exchange) Record: Указывает почтовый сервер, ответственный за получение электронной почты для домена.
- CNAME (Canonical Name) Record: Псевдоним одного домена для другого.
Примеры команд:
-
Получить A-запись:
nslookup -type=A www.example.com
Извлекает IPv4-адрес для
www.example.com
. -
Получить MX-запись:
nslookup -type=MX example.com
Получает почтовые серверы для
example.com
. -
Получить CNAME-запись:
nslookup -type=CNAME blog.example.com
Находит каноническое имя (псевдоним) для
blog.example.com
.
Ожидаемый вывод:
Для запроса MX-записи:
example.com MX preference = 10, mail exchanger = mail.example.com
Это указывает на то, что mail.example.com
является почтовым сервером для example.com
с предпочтительным значением 10.
Обратные DNS-запросы
Обратные DNS-запросы включают запрос доменного имени на основе IP-адреса. Это полезно для проверки имени хоста, связанного с определенным IP, что может помочь в устранении неполадок и оценках безопасности.
Пример команды:
nslookup 93.184.216.34
Ожидаемый вывод:
34.216.184.93.in-addr.arpa name = www.example.com
Этот вывод показывает, что IP-адрес 93.184.216.34
разрешается в имя хоста www.example.com
.
Указание DNS-серверов
По умолчанию nslookup
использует настроенный в системе DNS-сервер для выполнения запросов. Однако пользователи могут указать альтернативный DNS-сервер для запросов, что может быть полезно для тестирования или устранения проблем с DNS-сервером.
Пример команды:
nslookup www.example.com 8.8.8.8
Объяснение:
Эта команда запрашивает DNS-сервер Google Public (8.8.8.8
) для получения IP-адреса www.example.com
, вместо использования системного DNS-сервера по умолчанию.
Пример вывода:
Server: google-public-dns-a.google.com
Address: 8.8.8.8
Name: www.example.com
Address: 93.184.216.34
Расширенные функции
Помимо базовых запросов, nslookup
предлагает расширенные функции, которые повышают его полезность для комплексного анализа DNS и сценариев.
Интерактивный режим
Интерактивный режим позволяет пользователям вводить несколько команд в рамках одной сессии nslookup
, что упрощает более эффективные исследования DNS.
Вход в интерактивный режим:
Просто введите nslookup
без аргументов:
nslookup
Пример взаимодействия:
Default Server: resolver1.example.com
Address: 192.0.2.53
> set type=MX
> example.com
Server: resolver1.example.com
Address: 192.0.2.53
example.com MX preference = 10, mail exchanger = mail.example.com
> exit
Распространенные команды в интерактивном режиме:
set type=[record type]
: Указывает тип DNS-записи для запроса (например, A, MX, CNAME).server [DNS server]
: Изменяет DNS-сервер, используемый для запросов в рамках сессии.exit
: Выходит из интерактивного режима.
Установка типов запросов
nslookup
позволяет пользователям определять тип DNS-записей, которые они хотят запросить, обеспечивая гибкость в получаемой информации.
Синтаксис:
nslookup -type=[record type] [hostname]
Примеры команд:
-
Запрос AAAA-записи:
nslookup -type=AAAA www.example.com
Извлекает IPv6-адрес для
www.example.com
. -
Запрос TXT-записи:
nslookup -type=TXT example.com
Получает TXT-записи, связанные с
example.com
, часто используемые для проверки и обеспечения безопасности.
Использование nslookup
в сценариях
nslookup
можно интегрировать в сценарии для автоматизации DNS-запросов, что позволяет выполнять пакетную обработку и мониторинг DNS-записей.
Пример: Сценарий пакетного DNS-запроса (Bash)
#!/bin/bash
# Список доменов для запроса
domains=("example.com" "google.com" "nonexistentdomain.xyz")
# DNS-сервер для использования
dns_server="8.8.8.8"
# Цикл по каждому домену и выполнение запроса A-записи
for domain in "${domains[@]}"; do
echo "Запрос A-записи для $domain с использованием DNS-сервера $dns_server"
nslookup -type=A "$domain" "$dns_server"
echo "----------------------------------------"
done
Объяснение:
Этот сценарий проходит по списку доменов, выполняя запрос A-записи для каждого с использованием указанного DNS-сервера (8.8.8.8
). Вывод предоставляет IP-адреса, связанные с каждым доменом, что упрощает массовый анализ DNS.
Альтернативы nslookup
Хотя nslookup
является широко используемой утилитой DNS, существует несколько альтернативных инструментов, которые предлагают различные функции и преимущества. Понимание этих альтернатив может предоставить пользователям больше возможностей для запросов и диагностики DNS.
dig
Обзор команды dig
dig
(Domain Information Groper) — это гибкий и мощный инструмент для запросов DNS, часто используемый в средах UNIX и Linux. Он предоставляет подробную информацию о DNS-ответах, что делает его любимым среди сетевых администраторов для глубокого анализа DNS.
Сравнение между dig
и nslookup
- Детальность вывода:
dig
предлагает более подробный и структурированный вывод по сравнению сnslookup
, что полезно для продвинутого устранения неполадок. - Гибкость:
dig
позволяет более детально настраивать параметры запроса и поддерживает дополнительные опции для настройки DNS-запросов. - Сценарии:
dig
часто предпочитают для сценариев из-за его последовательного и удобного для разбора формата вывода.
Пример команды dig
:
dig www.example.com MX
Пример вывода:
; <<>> DiG 9.16.1-Ubuntu <<>> www.example.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;www.example.com. IN MX
;; ANSWER SECTION:
www.example.com. 3600 IN MX 10 mail.example.com.
www.example.com. 3600 IN MX 20 mail2.example.com.
host
Введение в команду host
Команда host
— это простая утилита для выполнения DNS-запросов. Она предназначена для предоставления простых и лаконичных результатов DNS-запросов, что делает ее идеальной для быстрых проверок и получения базовой информации о DNS.
Случаи использования, когда host
предпочтительнее
- Быстрые DNS-запросы: Когда пользователям нужно выполнить быстрый запрос без необходимости в детальной информации.
- Простота: Для пользователей, которые предпочитают минималистичный вывод без дополнительных деталей, предоставляемых такими инструментами, как
dig
. - Сценарии: Подходит для сценариев, где требуется только основная информация.
Пример команды host
:
host -t TXT example.com
Пример вывода:
example.com descriptive text "v=spf1 include:_spf.example.com ~all"
Другие инструменты
Помимо dig
и host
, существует несколько других инструментов DNS, которые могут дополнить или заменить nslookup
в зависимости от требований.
whois
whois
— это протокол и утилита командной строки, используемая для запроса баз данных, которые хранят зарегистрированных пользователей или владельцев интернет-ресурсов, таких как доменные имена и IP-адреса. Она предоставляет информацию о владении доменом, регистрационных данных и контактной информации.
Случай использования:
- Информация о регистрации домена: Чтобы узнать, кто владеет определенным доменом и его контактные данные.
Пример команды:
whois example.com
tcpdump
tcpdump
— это мощный анализатор сетевых пакетов, который захватывает и отображает сетевой трафик. Хотя это не исключительно инструмент DNS, его можно использовать для мониторинга DNS-запросов и ответов в реальном времени, что помогает в устранении неполадок в сети и анализе безопасности.
Случай использования:
- Мониторинг DNS-трафика: Для наблюдения за шаблонами DNS-запросов и обнаружения аномалий или вредоносной активности.
Пример команды:
tcpdump -i eth0 port 53
Wireshark
Wireshark
— это графический анализатор сетевых протоколов, который предоставляет подробную информацию о сетевом трафике, включая взаимодействия DNS. Он предлагает удобный интерфейс для захвата, фильтрации и анализа DNS-пакетов.
Случай использования:
- Подробный анализ DNS: Для глубокого изучения взаимодействий DNS и поведения протокола.
Часто задаваемые вопросы (FAQ)
Для чего используется команда nslookup
?
nslookup
— это инструмент администрирования сети, используемый для запроса Системы доменных имен (DNS) с целью получения информации о сопоставлении доменных имен или IP-адресов, а также других DNS-записей. Он помогает пользователям и администраторам устранять проблемы, связанные с DNS, предоставляя информацию о том, как разрешаются доменные имена.
На каких операционных системах доступен nslookup
?
nslookup
доступен на большинстве основных операционных систем, включая:
- Windows: Предустановлен как часть операционной системы.
- macOS: Включен в сетевые утилиты системы.
- Linux/UNIX: Доступен по умолчанию или через менеджеры пакетов как часть утилит DNS.
Его широкая доступность делает его универсальным инструментом для различных сред.
Как выполнить обратный DNS-запрос с помощью nslookup
?
Обратный DNS-запрос позволяет вам найти имя хоста, связанное с данным IP-адресом. Чтобы выполнить это с помощью nslookup
, просто введите IP-адрес в качестве запроса. Например:
nslookup 93.184.216.34
Пример вывода:
34.216.184.93.in-addr.arpa name = www.example.com
Этот вывод указывает на то, что IP-адрес 93.184.216.34
разрешается в имя хоста www.example.com
.
Как я могу указать другой DNS-сервер при использовании nslookup
?
По умолчанию nslookup
использует настроенный в системе DNS-сервер. Чтобы указать альтернативный DNS-сервер для вашего запроса, добавьте IP-адрес или имя хоста DNS-сервера в конце команды. Например:
nslookup www.example.com 8.8.8.8
Эта команда запрашивает DNS-сервер Google Public (8.8.8.8
) для получения IP-адреса www.example.com
.
Какие типы DNS-записей я могу запрашивать с помощью nslookup
?
nslookup
поддерживает запрос различных типов DNS-записей, включая:
- A (Address) Record: Соответствует домену IPv4-адресу.
- AAAA (IPv6 Address) Record: Соответствует домену IPv6-адресу.
- MX (Mail Exchange) Record: Указывает почтовый сервер, ответственный за получение электронной почты для домена.
- CNAME (Canonical Name) Record: Псевдоним одного домена для другого.
- TXT (Text) Record: Содержит произвольные текстовые данные, часто используемые для проверки и обеспечения безопасности.
- NS (Name Server) Record: Указывает авторитетные DNS-серверы для домена.
Чтобы запросить конкретный тип записи, используйте опцию -type
, за которой следует тип записи. Например:
nslookup -type=MX example.com
Как изменить тип запроса в nslookup
?
Изменение типа запроса позволяет вам извлекать конкретные DNS-записи. Используйте опцию -type
(или -query
), за которой следует желаемый тип записи. Например, чтобы запросить MX-записи для example.com
:
nslookup -type=MX example.com
Пример вывода:
example.com MX preference = 10, mail exchanger = mail.example.com
example.com MX preference = 20, mail exchanger = mail2.example.com
Этот вывод показывает почтовые серверы, связанные с example.com
, вместе с их предпочтительными значениями.
Могу ли я использовать nslookup
в сценариях для автоматизированных DNS-запросов?
Да, nslookup
можно интегрировать в сценарии для автоматизации DNS-запросов. Это полезно для пакетной обработки, мониторинга DNS-записей или выполнения регулярных проверок. Ниже приведен пример простого сценария Bash, который использует nslookup
для получения A-записей для списка доменов:
#!/bin/bash
# Список доменов для запроса
domains=("example.com" "google.com" "nonexistentdomain.xyz")
# DNS-сервер для использования
dns_server="8.8.8.8"
# Цикл по каждому домену и выполнение запроса A-записи
for domain in "${domains[@]}"; do
echo "Запрос A-записи для $domain с использованием DNS-сервера $dns_server"
nslookup -type=A "$domain" "$dns_server"
echo "----------------------------------------"
done
Объяснение:
Этот сценарий проходит по списку доменов, выполняя запрос A-записи для каждого с использованием указанного DNS-сервера (8.8.8.8
). Вывод предоставляет IP-адреса, связанные с каждым доменом, что упрощает массовый анализ DNS.
В чем разница между nslookup
и dig
?
Оба nslookup
и dig
являются инструментами для запросов DNS, но у них есть некоторые различия:
- Детальность вывода:
dig
предоставляет более подробный и структурированный вывод, что полезно для детального анализа DNS.nslookup
предлагает более лаконичный вывод, подходящий для базовых запросов. - Гибкость:
dig
позволяет более детально настраивать параметры запроса и поддерживает дополнительные опции для настройки DNS-запросов. - Сценарии:
dig
часто предпочитают для сценариев из-за его последовательного и удобного для разбора формата вывода. - Доступность:
nslookup
чаще доступен по умолчанию на различных операционных системах, в то время какdig
может потребовать отдельной установки на некоторых платформах.
Пример команды dig
:
dig www.example.com MX
Пример вывода dig
:
; <<>> DiG 9.16.1-Ubuntu <<>> www.example.com MX
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 12345
;; flags: qr rd ra; QUERY: 1, ANSWER: 2, AUTHORITY: 0, ADDITIONAL: 1
;; QUESTION SECTION:
;www.example.com. IN MX
;; ANSWER SECTION:
www.example.com. 3600 IN MX 10 mail.example.com.
www.example.com. 3600 IN MX 20 mail2.example.com.
Как войти в интерактивный режим в nslookup
?
Интерактивный режим позволяет вам выполнять несколько DNS-запросов в рамках одной сессии nslookup
. Чтобы войти в интерактивный режим, просто введите nslookup
без аргументов и нажмите Enter:
nslookup
Пример взаимодействия:
Default Server: resolver1.example.com
Address: 192.0.2.53
> set type=MX
> example.com
Server: resolver1.example.com
Address: 192.0.2.53
example.com MX preference = 10, mail exchanger = mail.example.com
> exit
Распространенные команды в интерактивном режиме:
set type=[record type]
: Указывает тип DNS-записи для запроса (например, A, MX, CNAME).server [DNS server]
: Изменяет DNS-сервер, используемый для запросов в рамках сессии.exit
: Выходит из интерактивного режима.
Что делать, если nslookup
возвращает ошибку или не отвечает?
Если nslookup
возвращает ошибку или не получает ответа, рассмотрите следующие шаги по устранению неполадок:
- Проверьте подключение к интернету: Убедитесь, что ваше устройство подключено к интернету.
- Проверьте доступность DNS-сервера: DNS-сервер, который вы запрашиваете, может быть недоступен или недоступен. Попробуйте указать другой DNS-сервер.
- Подтвердите точность доменного имени: Убедитесь, что введенное вами доменное имя правильно и существует.
- Проверьте настройки брандмауэра: Брандмауэры или программное обеспечение безопасности могут блокировать DNS-запросы.
- Изучите сообщения об ошибках: Обратите внимание на конкретные сообщения об ошибках, возвращаемые
nslookup
(например, «Server failed», «NXDOMAIN»), чтобы определить проблему. - Используйте альтернативные инструменты: Попробуйте использовать другие инструменты DNS, такие как
dig
илиhost
, чтобы увидеть, дают ли они другие результаты.
Пример ошибки и решения:
nslookup nonexistentdomain.xyz
Возможный вывод:
** server can't find nonexistentdomain.xyz: NXDOMAIN
Решение:
Ошибка NXDOMAIN
указывает на то, что домен не существует. Проверьте доменное имя на наличие опечаток или проверьте, был ли домен недавно зарегистрирован.
How to Use NSLookup Command on Windows (Examples). Nslookup is a command in Windows used for obtaining information about domain names and the Internet Protocol (IP) addresses associated with those domain names. For example, the nslookup command is highly useful in obtaining different types of information using DNS queries, such as mail exchange server information, authoritative information, doing a reverse lookup, and so on.
Simply put, nslookup searches a local or remote DNS server for information on the requested domain. This command is critical for system and network engineers and admins who manage DNS services within their organizations and therefore, it is imperative to learn its syntax, applications, and limitations. This tutorial illustrates how to use the nslookup command with detailed explanations and plenty of practical examples.
Nslookup Modes
Interactive mode
To use NSlookup in interactive mode, type “nslookup” on the command prompt and press “enter.” This will return with a display of the the local DNS server together with the IP address associated with your machine.
Alternatively, the nslookup command can enter interactive mode when no arguments are given, or when the first argument is a – (minus sign) and the second argument is the host name or internet address of a name server. When no arguments are given, the command queries the default name server. To illustrate this let’s execute a basic nslookup command.
You’ll see the following output:
Default Server: dns.google
Address: 8.8.8.8
Once the nslookup returns the information, you will be presented with a nslookup prompt to continue running the commands. For example, enter your select domain name and you will receive information regarding it. In this case the domain name is www.google.com
The following output appears:
Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: www.google.com
Addresses: 2a00:1450:401a:800::2004
172.217.170.164
The command allows you to specify options. Specifying options while using the interactive mode is done on a separate line before the query and needs to be preceded with “set” keyword.
set type-ns
www.google.com
Carrying out this command gives the following output:
Server: dns.google
Address: 8.8.8.8
google.com
primary name server = ns1.google.com
responsible mail addr = dns-admin.google.com
serial 515288775
refresh 900 (15 mins)
retry = 900 (15 mins)
expire = 1800 (30 mins)
default TTL= 60 (1 min)
Finally use the “exit” command to exit the interactive mode.
Non-interactive mode
This mode is useful if you’d like nslookup to issue single queries. Both the query and the command are all on the same line. The nslookup command enters non-interactive mode when you give the name or internet address of the host to be looked up as the first argument. The optional second argument specifies the host name or address of a name server. You can specify options on the command line if they precede the arguments and are prefixed with a hyphen.
nslookup -type-ns www.google.com
This command gives the following output:
Server: dns.google
Address: 8.8.8.8
google.com
primary name server = ns1.google.com
responsible mail addr = dns-admin.google.com
serial = 515590537
refresh 900 (15 mins) retry = 900 (15 mins) expire = 1800 (30 mins) default TTL= 60 (1 min)
Nslookup syntax
nslookup [-option] [name | -] [server]
Option: This is where you are required to provide the parameter(s) that you wish to use together with the IP address or the domain name. The option ranges from debugging, a port to be used, timeout, and type of the DNS record to many more.
Name: In this part, you are required to provide the IP address or the hostname (domain name). It is the target for which your DNS query is aiming.
Additional Options: This allows you to add an extra option as a parameter depending on the nature of your DNS query.
Server: This specifies from where you want your DNS query to be performed. Omit it to use the default server or to specify another server.
Nslookup options
There are many different options available with the nslookup command:
Nslookup options |
Description |
Nslookup set domain=[domain-name] |
Changes the default DNS name to the one specified in the option. |
Nslookup set debug |
Shows the debugging information |
Nslookup set port=[port-number] |
Specifies the query port. Port 53 is default when not passed. |
Nslookup set timeout=[seconds] |
Used to set server response time. After this time, the command returns DNS server not responding or not found. |
Nslookup set type=a |
Used to view information about the specified DNS A address records |
Nslookup set type=any |
This command shows all the records for the specified DNS |
Nslookup set type=hinfo |
Used to view the hardware related information regarding the host |
Nslookup set type=mx |
To view the information regarding server’s Mail Exchange |
Nslookup set type=ns |
Shows the records for the Name Server |
Nslookup set type=ptr |
Reverses DNS lookups to view the Pointer records |
Nslookup set type=soa |
Shows Start of Authority records |
Nslookup exit |
Exits the nslookup command prompt |
Nslookup finger |
Used to connect the finger server with on the current machine |
Nslookup help |
This command displays brief information regarding the other subcommands |
Nslookup set all |
Used to return the current values of the configuration settings |
Nslookup set class |
Changes the query class. The class specifies the protocol group of the information |
Nslookup set d2 |
Used to turn the exhaustive debugging mode on or off. It prints all the fields of every packet |
Nslookup set retry |
Used to specify the number of times for the retries. |
Nslookup set search |
Appends the DNS domain search list to the request until an answer is returned. |
Try our Active Directory & Office 365 Reporting & Auditing Tools
Try us out for Free. 100’s of report templates available. Easily customise your own reports on AD, Azure AD & Office 355.
12 examples of NSlookup command usage
There are various DNS record types that nslookup helps you check out. Below are some examples.
1. Nslookup IP address (IP to Domain Name)
In Powershell this command is used to check for domain name provided you know its IP address. See from this code snippet below, the command returns dns.google.com as the domain name for the IP address, 8.8.8.8.
Server: Unknown
Address: fe80::7404:37ff:fe53:a5d2
Name: dns.google
Address: 8.8.8.8
2. Nslookup Domain Name (Domain to IP address)
This command is used when one knows the domain name but is looking to find the IP address that correspondent to the domain name. Looking at the code snippet below, several IP addresses comes up as a result of running the command using mydomain.com domain name. Replace mydomain.com with your domain name.
Running this command gives the following output:
Server: Unknown
Address: 192.168.100.10
Name: mydomain.com
Addresses: 192.168.100.12
192.168.100.10
192.168.100.11
3. Nslookup MX record
The mail server that is tasked with accepting emails for a specific domain can be found by running a MX record lookup. To be able to find the mx records, one needs to use the option “–type=mx” followed by the domain name. Please replace mydomain.com with your domain name.
nslookup -type-mx mydomain.com
The following is the output:
Server: Unknown
Address: 192.168.100.10
Non-authoritative answer:
mydomain.com MX preference = 0, mail exchanger mydomain-com.mail.eo.outlook.com
mydomain.com.mail.eo.outlook.com internet address 104.47.58.110
mydomain.com.mail.eo.outlook.com internet address 104.47.55.110
4. Nslookup SOA record
At times, one may want to know which DNS server is the best source for information for a given domain. For this, the Start of Authority record comes into aid. It shows the default ttl, responsible mail addresses, the primary name server, and more.
nslookup -type-soa mydomain.com
Server: Unknown
Address: 192.168.100.10
mydomain.com
primary name server = dc1.mydomain.com
responsible mail addr = hostmaster.mydomain.com
serial = 667
refresh = 900 (15 mins)
retry = 600 (10 mins)
expire = 86400 (1 day)
default TTL = 3600 (1 hour)
dc1.mydomain.com internet address = 192.168.100.10
5. Nslookup CNAME
Used to redirect or alias one DNS name to another DNS name.
nslookup -type=cname www.mydomain.com
Server: Unknown
Address: fe80::7404:37ff: fe53:a5d2
Non-authoritative answer:
www.mydomain.com canonical name = mydomain.com
6. Nameserver lookup
Useful when one needs to know a domain’s name servers.
nslookup -type-ns www.google.com
Server: Unknown
Address: fe80::7404:37ff: fe53: a5d2
Non-authoritative answer:
google.com text =
"atlassian-domain-verification=5YjTmWmj192ewqkx20XmBaD60Td9zWon9n
7. Nslookup TXT record
Used to check a domain’s text DNS records.
nslookup -q=TXT www.google.com
Server: dns.google
Address: 8.8.8.8
google.com
primary name server = ns1.google.com
responsible mail addr = dns-admin.google.com
serial = 515590537
refresh = 900 (15 mins)
retry = 900 (15 mins)
expire = 1800 (30 mins)
default TTL = 60 (1 min)
8. Nslookup all DNS records
Run this command to view all the records for a domain.
nslookup -type=any google.com
Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
google.com internet address = 142.250.184.110
google.com AAAA IPv6 address = 2a00:1450:4002:406::200e
google.com text -
"atlassian-domain-verification-5Yjmwmj192ewqkx2oXmBaD60Td9zWon9r6eakvHX6877zzkFQto8PQ9QsKnbf41"
9. Nslookup domain controller
Used to show all the domain’s controllers for the specified domain. Follow these instructions to generate a complete list of domain controllers for a given domain.
- Enter nslookup at the command prompt.
Server: Unknown
Address: ::1
- After pressing enter, type set type=SRV.
- Then, hit enter after typing _ldap._tcp.mydomain.com. (substitute your own domain name for mydomain.com).
This returns a list of all domain controllers for the specified domain.
10. Nslookup Verbose
When you need to show much more information regarding a particular resource record such as default TTL, mail addresses, primary name server, and much more, all you have to do is to turn debugging on.
In our case the output is:
Default Server: dns9.quad9.net
Address: 9.9.9.9
Then use the command set debug and then enter the domain name.
Server: dns9.quad9.net
Address: 9.9.9.9
----------------
Got answer:
HEADER:
opcode QUERY, id = 2, rcode = NXDOMAIN
header flags: response, want recursion, recursion avail.
questions = 1, answers = 0, authority records = 1, additional = 0
QUESTIONS:
google.com.mhs, type = A, class = IN
AUTHORITY RECORDS:
-> (root)
ttl=559 (9 mins 19 secs)
primary name server = a.root-servers.net responsible mail addr = nstld.verisign-grs.com
serial = 2021090600
refresh = 1800 (30 mins)
retry = 900 (15 mins)
expire = 604800 (7 days)
11. Nslookup use External DNS server
During a troubleshooting process this is very useful. You may find that a website loads when you are outside your internal network but once inside the network it ceases to load. In such a situation, use this command to see if the results returned by an external DNS server differs from that returned by your internal DNS server. Google or your ISP DNS server can be used for this.
Type nslookup and press “enter” to change the DNS server. Follow by typing the server IP ADDRESS. For example, “server 8.8.8.8” and then press enter. By performing these commands, the nslookup command is instructed to run the DNS record lookups while using the 8.8.8.8 server.
Default Server: Unknown
Address: 192.168.100.10
Then next enter the server info which in our case is: 8.8.8.8
Default Server: dns.google
Address: 8.8.8.8
Then, if, for example, we run a DNS lookup on yahoo.com, we will have changed to 8.8.8.8 as the DNS server, as you’ll see below:
yahoo.com
Server: dns.google
Address: 8.8.8.8
Non-authoritative answer:
Name: yahoo.com
Addresses: 2001:4998:24:120d::1:1
2001:4998:44:3507::8001
2001:4998:24:120d::1:0
2001:4998:124:1507::f000
2001:4998:124:1507::f001
2001:4998:44:3507::8000
74.6.143.26
98.137.11.164
12. Checking for PTR record
By performing a reverse DNS query, it becomes possible to verify whether a certain IP address is allocated to any domain name. To be able to accomplish this, one needs to look at the PTR record that is used to link a domain name to an IP address. For this to be done, you are required to rearrange the IP address, so that it is in a reverse order. For example “185.136.96.96” changes to “96.96.136.185”. Additionally, considering the fact that it is stored in arpa’s top-level-domain, you have to add in-addr.arpa at the end of the IP address.
nslookup -type-ptr 96.96.136.185.in-addr.arpa
Server: 8.8.8.8
Address: 8.8.8.8#53
Non-authoritative answer:
96.96.136.185.in-addr.arpa name = pns21.cloudns.net.
Thank you for reading article How to Use NSLookup Command on Windows (Examples). We shall now conclude.
How to Use NSLookup Command on Windows (Examples) Conclusion
In this article, I demonstrated various instances of how to utilize the nslookup Windows command. The nslookup command is an excellent tool for troubleshooting and verifying DNS records. Many network issues are often tied to DNS, thus knowing how to rapidly verify whether DNS is functioning properly saves a lot of time. Nslookup is quite simple to use in Windows’ command prompt.
Now, for the more tech savvy readers among you, the nslookup command also be used for testing out DNS servers. The nslookup command includes a number of sophisticated options for testing name resolution, as well as a verbose debug mode for enhanced debugging. This tutorial should provide you with sufficient knowledge of how to use the command.
It is crucial to remember, however, that for websites that do not have a dedicated IP address, the results may vary each time you run this command.
Try InfraSOS for FREE
Invite your team and explore InfraSOS features for free
-
Free 15-Days Trial - SaaS Reporting & Auditing Solution
- Full Access to All Features
nslookup — это инструмент командной строки, который позволяет пользователям запрашивать серверы системы доменных имен (DNS), преобразовывать доменные имена в IP-адреса и извлекать различные типы записей DNS. Этот инструмент полезен для сетевых администраторов, разработчиков и ИТ-специалистов для устранения неполадок, связанных с DNS, и получения информации о конфигурациях доменов.
Эта статья ознакомит вас с использованием nslookup как в Windows, так и на Linux-серверах, охватывая основные команды, расширенные функции и практическое применение. Целью данной статьи является простое, базовое знакомство с этим прекрасным и удобным инструментом, который станет полезным для любого системного администратора.
1. Что такое NsLookup?
nslookup в буквальном переводе означает «поиск сервера имен». Он используется для запроса DNS-серверов, которые преобразуют понятные человеку доменные имена (например, example.com) в IP-адреса, которые компьютеры используют для связи. DNS-поиск помогает гарантировать, что пользователи могут получить доступ к веб-сайтам и службам, что делает nslookup ключевым инструментом для диагностики сетевых проблем.
Распространенные варианты использования NsLookup:
— Перевод доменных имен в IP-адреса.
— Проверка записей обмена почтой (MX).
— Выполнение обратного DNS-поиска (поиск доменных имен, связанных с IP-адресом).
— Отладка конфигураций DNS.
2. Использование NsLookup в Windows
Основные команды
Чтобы использовать nslookup в Windows, откройте командную строку (CMD) и введите следующий синтаксис:
nslookup [домен или IP]
Эта команда запрашивает DNS-сервер по умолчанию, настроенный в вашей системе. Вы также можете указать другой DNS-сервер для своих запросов.
Примеры:
Простой поиск домена:
nslookup example.com
Эта команда выводит базовую информацию о запрашиваемом домене:
Сервер: your-dns-server
Адрес: your-dns-ip
Неавторитетный ответ:
Имя: example.com
Адрес: 93.184.216.34
Указание DNS-сервера: запрос домена с использованием публичного DNS-сервера Google (8.8.8.8):
nslookup example.com 8.8.8.8
Обратный поиск DNS: поиск имени домена, связанного с IP-адресом:
nslookup 93.184.216.34
Запрос определенных записей DNS: получение записей обмена почтой (MX) для домена:
nslookup -query=mx example.com
Другие статьи по теме системного администрирования:
— Как узнать ваш IP-адрес в Linux различными способами
— Как перенаправить и перезаписать URL с помощью файла .htaccess
— 10 полезных консольных утилит для мониторинга Linux-сервера
— Установка конкретной версии cPanel на сервер
3. Использование NsLookup в Linux
Использование nslookup в Linux очень похоже на Windows. Инструмент обычно предустановлен и доступен через терминал. Основной синтаксис остается тем же:
nslookup [домен или IP]
Linux также поддерживает обратный поиск DNS и запрос определенных записей DNS.
Примеры
Простой поиск DNS:
nslookup example.com
Обратный поиск DNS:
nslookup 93.184.216.34
Запрос записей MX:
nslookup -query=mx example.com
4. Интерактивный режим в NsLookup
Интерактивный режим позволяет пользователям выполнять несколько запросов в одном сеансе, что полезно для более глубокого анализа DNS. Чтобы войти в интерактивный режим, просто введите nslookup без параметров:
nslookup
Попав в него, вы можете выполнить несколько команд для запроса различных доменов или типов записей.
Ключевые интерактивные команды
Установить тип записи: укажите тип записи DNS (например, MX, A или NS), которую вы хотите запросить:
set type=mx
После этого все запросы будут возвращать записи MX.
Изменить DNS-сервер: вы можете переключиться на другой DNS-сервер для дальнейших запросов:
server 8.8.8.8
Выйти из интерактивного режима: чтобы выйти, введите exit.
5. Практическое применение NsLookup
5.1 Устранение неполадок в сети
Если веб-сайт недоступен, nslookup может помочь определить, заключается ли проблема в разрешении DNS. Например, запуск поиска DNS может сказать вам, правильно ли домен преобразуется в IP-адрес.
5.2 Проверка записей DNS
Перед развертыванием таких служб, как электронная почта или веб-сайты, важно проверить правильность настройки записей DNS, таких как записи MX, NS и A. nslookup позволяет вам быстро проверить эти записи.
5.3 Обратные поиски DNS
Обратные поиски DNS полезны в контексте безопасности, где вам нужно проверить, соответствует ли IP-адрес законному доменному имени. Это может помочь выявить потенциальную вредоносную активность или неправильные конфигурации.
5.4 Тестирование альтернативных DNS-серверов
Иногда проблемы с сетью возникают из-за проблем с вашим DNS-сервером по умолчанию. С помощью nslookup вы можете протестировать альтернативных поставщиков DNS, таких как Google (8.8.8.8) или Cloudflare (1.1.1.1), чтобы диагностировать проблему.
6. Основные различия между Windows и Linux NsLookup
Хотя функциональность nslookup практически идентична в Windows и Linux, есть тонкие различия платформ, на которые стоит обратить внимание:
Конфигурация DNS-сервера
В Windows nslookup использует DNS-сервер, установленный в настройках вашего сетевого адаптера.
В Linux DNS-сервер определяется в файле /etc/resolv.conf.
Формат вывода
Формат вывода может немного отличаться между двумя платформами, хотя это не влияет на удобство использования команды.
Заключение
nslookup — это мощный кроссплатформенный инструмент для запросов к DNS-серверам и устранения неполадок, связанных с доменами. Независимо от того, диагностируете ли вы сетевую проблему, проверяете записи DNS или выполняете обратный поиск, nslookup обеспечивает простой и эффективный способ взаимодействия с DNS-серверами.
Освоив основы nslookup и его более продвинутые функции, такие как интерактивный режим, вы сможете уверенно решать проблемы, связанные с DNS, как в среде Windows, так и в среде Linux. Понимание того, как эффективно использовать nslookup, значительно расширит ваши возможности устранения неполадок в сети.
Nslookup (short for name server lookup) is an excellent network admin command-line tool for querying DNS (domain name systems) to find the associations between domain names and IP addresses, and other DNS records.
To use nslookup you simply enter ‘nslookup’ in a command prompt window followed by the desired hostname, ip address, or record name that you wish to query. However, that’s barely scratching the surface of what you can accomplish with nslookup.
Importance of DNS
DNS is such a foundational aspect of how networks and the internet work that it’s hard to categorize it as either more sysadmin or more networking related. In most of the environments I’ve worked in, it’s usually the SysAdmins that manage DNS or a dedicated DNS group in very large enterprises since DNS is a server role, yet it’s affect on network communications is pretty substantial and many a network admin will find themselves doing DNS lookups while troubleshooting.
In a nutshell, DNS helps computers on a network communicate by translating domain names to IP addressees which are used in routing.
When you type networkproguide.com into your address bar your computer queries your local DNS server which queries a public DNS server to figure out what IP address networkproguide.com has. At that point routing takes over and directs the packets from your computer to the destination.
When DNS doesn’t work right, things on your network can fail to communicate. Not good!
Using Nslookup we can quickly gather a variety of information about DNS. Most people know the basic nslookup command for checking a host name’s IP or IP’s hostname but not many know to use all the other cool features like specifying the DNS server to use or choosing what type of record to query for a given IP and so on.
Let’s dig in and learn some of these tricks!
Nslookup Command Syntax
Nslookup can be called from either command prompt or PowerShell on a Windows Server or Desktop machine (such as Windows 10 or Windows 11). The primary command for entering Nslookup is:
nslookup
You can either use the command by itself to enter a dedicated command line within the nslookup program or you can enter commands on the same line to return your result and return you to the base command prompt.
For example:
nslookup
Will return:
Default Server: UnKnown
Address: 10.2.0.1
>
Leaving you at a prompt within nslookup where you can enter more command and parameters. Whereas entering:
nslookup wikipedia.org
Will return:
Server: UnKnown Address: 10.2.0.1 Non-authoritative answer: Name: wikipedia.org Addresses: 2620:0:860:ed1a::1 208.80.153.224 C:\Users\rsanchez>
Returning you back to the base command prompt.
If you want a complete list of all nslookup commands, switches, and parameters you can enter:
nslookup ?
Which results in:
Usage: nslookup [-opt ...] # interactive mode using default server nslookup [-opt ...] - server # interactive mode using 'server' nslookup [-opt ...] host # just look up 'host' using default server nslookup [-opt ...] host server # just look up 'host' using 'server'
Nslookup Command Examples
The following are some examples of the most useful (in my personal opinion) nslookup commands. You can think of it as a mini nslookup cheatsheet of sorts.
Lookup Domain Name (PTR Record Lookup)
To find the domain name from an IP (IP address to domain name), enter:
nslookup 208.80.153.224
Which results in:
Server: UnKnown Address: 10.2.0.1 Name: text-lb.codfw.wikimedia.org Address: 208.80.153.224
Lookup IP Address of a Domain (A Record Lookup)
To lookup the IP of a domain name (domain name to IP address) enter:
nslookup wikipedia.org
Which results in:
Server: UnKnown Address: 10.2.0.1 Non-authoritative answer: Name: wikipedia.org Addresses: 2620:0:860:ed1a::1 208.80.153.224
Email MX Record Lookup
This one requires that enter the nslookup prompt first, then set our record type, then enter our domain name to return our result as so:
nslookup
> set q=mx
> wikipedia.org
Which results in:
Server: UnKnown Address: 10.2.0.1 Non-authoritative answer: wikipedia.org MX preference = 10, mail exchanger = mx1001.wikimedia.org wikipedia.org MX preference = 50, mail exchanger = mx2001.wikimedia.org
Start of Authority (SOA) Record Lookup
nslookup
>set q=SOA
>wikipedia.org
Which results in:
Server: UnKnown Address: 10.2.0.1 Non-authoritative answer: wikipedia.org primary name server = ns0.wikimedia.org responsible mail addr = hostmaster.wikimedia.org serial = 2018081012 refresh = 43200 (12 hours) retry = 7200 (2 hours) expire = 1209600 (14 days) default TTL = 3600 (1 hour)
Lookup CNAME
To find the alias (or redirect) of a DNS name enter:
nslookup >set q=CNAME >www.wikipedia.org
Which results in:
Non-authoritative answer: www.wikipedia.org canonical name = dyna.wikimedia.org
Lookup TXT Record
To find the text associated with a TXT record (such a SPF record), enter:
nslookup > set q=txt > wikipedia.org
Which results in:
Server: dns.google Address: 8.8.8.8 Non-authoritative answer: wikipedia.org text = "v=spf1 include:wikimedia.org ~all" wikipedia.org text = "yandex-verification: 35c08d23099dc863" wikipedia.org text = "google-site-verification=AMHkgs-4ViEvIJf5znZle-BSE2EPNFqM1nDJGRyn2qk"
Lookup All DNS Records
This is a bit of a misnomer. You can’t really return all records. You can only return the records that the particular DNS servers you’re using are aware of. To truly get all records for a domain you’d be looking at what is called a zone transfer and most DNS servers restrict those for good reason.
nslookup
>set type=all
>microsoft.com
Which results in:
microsoft.com internet address = 23.100.122.175
microsoft.com internet address = 23.96.52.53
microsoft.com internet address = 191.239.213.197
microsoft.com internet address = 104.40.211.35
microsoft.com internet address = 104.43.195.251
microsoft.com nameserver = ns4.msft.net
microsoft.com nameserver = ns1.msft.net
microsoft.com nameserver = ns2.msft.net
microsoft.com nameserver = ns3.msft.net
microsoft.com
primary name server = ns1.msft.net
responsible mail addr = msnhst.microsoft.com
serial = 2018090721
refresh = 7200 (2 hours)
retry = 600 (10 mins)
expire = 2419200 (28 days)
default TTL = 3600 (1 hour)
Nameserver Lookup
To find the nameservers that a domain is using, you can set the query to ‘ns’. For example:
nslookup > set q=ns > wikipedia.org
Which results in:
Server: UnKnown Address: 10.2.0.1 Non-authoritative answer: wikipedia.org nameserver = ns1.wikimedia.org wikipedia.org nameserver = ns2.wikimedia.org wikipedia.org nameserver = ns0.wikimedia.org
Find Domain Controller by SRV Record
If you’re curious what the domain controllers are for a domain, you can find them by setting the query type to SRV and querying for the LDAP service on the domain. For example:
nslookup > set q=SRV > _ldap._tcp.example.com Server: UnKnown Address: 10.0.2.10 Non-authoritative answer: _ldap._tcp.example.com SRV service location: priority = 0 weight = 100 port = 389 svr hostname = dc01.example.com _ldap._tcp.example.com SRV service location: priority = 0 weight = 100 port = 389 svr hostname = dc02.example.com
This shows two domain controllers for example.com – dc01 and dc02. The hostnames resolve to IP addresses using ‘nslookup dc01’ etc…
Specify Alternate DNS Server
When troubleshooting potential issues with your DNS environment it can be handy to switch to an alternate or external name server to see if the issues persist. For example:
nslookup
>server IPofDNSServer
Which would result in:
nslookup >server 8.8.4.4 Default Server: google-public-dns-b.google.com Address: 8.8.4.4 > wikipedia.org Server: google-public-dns-b.google.com Address: 8.8.4.4 Non-authoritative answer: Name: wikipedia.org Addresses: 2620:0:860:ed1a::1 208.80.153.224
You can see in the example above that the Default Server shows as google-public-dns now instead of Unknown as it did earlier, signifying that we are now using a defined server.
Verbose DNS Lookup
If you want as much information as you can get for a specific command you can enable verbose output by entering the following command:
nslookup
>set debug
>wikipedia.org
Which results in:
Server: UnKnown Address: 10.2.0.1 - - - - - - - Got answer: HEADER: opcode = QUERY, id = 2, rcode = NOERROR header flags: response, want recursion, recursion avail. questions = 1, answers = 1, authority records = 0, additional = 0 QUESTIONS: wikipedia.org, type = A, class = IN ANSWERS: -> wikipedia.org internet address = 208.80.153.224 ttl = 600 (10 mins) - - - - - - - Non-authoritative answer: - - - - - - - Got answer: HEADER: opcode = QUERY, id = 3, rcode = NOERROR header flags: response, want recursion, recursion avail. questions = 1, answers = 1, authority records = 0, additional = 0 QUESTIONS: wikipedia.org, type = AAAA, class = IN ANSWERS: -> wikipedia.org AAAA IPv6 address = 2620:0:860:ed1a::1 ttl = 600 (10 mins) - - - - - - - Name: wikipedia.org Addresses: 2620:0:860:ed1a::1 208.80.153.224
Pretty simple, huh? I especially like the command for setting a specific DNS server. This can come in handy for ruling out DNS caching issues on specific DNS servers when making DNS changes.
Tips for Troubleshooting DNS Issues
While troubleshooting DNS issues (or issues that have the potential to be related to DNS) here are some useful troubleshooting tips:
- Use nslookup or dig to verify DNS records are resolving correctly. Check for any NXDOMAIN or timeout errors.
- Confirm the DNS servers configured on the affected host are reachable by pinging or using telnet on port 53.
- Check that the DNS servers have the expected forwarders and root hints configured if they are internal DNS servers.
- Retry lookups using a public DNS server like Google (8.8.8.8) or Cloudflare (1.1.1.1) to isolate issues.
- Check the DNS cache on client machines with ipconfig /displaydns and clear it with ipconfig /flushdns if needed.
- Verify the DNS zones on the servers have been updated with any recent changes and the SOA serial number has incremented.
- Look at query logging on the DNS servers to identify any problem queries or clients.
- If using DNSSEC, verify keys are signing records correctly and there are no RRSIG expiration issues.
- For web traffic issues, use dig to check both A records and CNAME records are resolving.
- Check for firewall or ACLs that may be blocking DNS traffic on UDP port 53 or TCP port 53.
- Enable debug logging on DNS servers and dig/nslookup clients to get more detailed troubleshooting data.
- For AD issues, follow specific guides for resolving DNS problems with Active Directory.
- Finally, don’t forget to check for typos! Many DNS issues are due to small errors in records or zones.
Hopefully this helps you out and saves you some time and heartache!
Recommended Tool: ManageEngine OpManager
- Multi-vendor Network Monitoring
- Simple Installation & Setup
- Intuitive UI
- Complete Visibility
- Intelligent Detections
- Easy Resolutions
Network Engineer III
I am a Senior Network Engineer who has spent the last decade elbow deep in enterprise System Administration and Networking in the local government and energy sectors. I can usually be found trying to warm up behind the storage arrays in the datacenter.