Загальні відомості про діагностику мережевих проблем
Складається враження, що будь-які труднощі з комп’ютерами одразу ж приписують мережі. І це не безпідставно, адже часто саме вона є причиною збоїв. Мережі – це складні системи, де одночасно відбувається багато процесів. І чим більше процесів, тим більша ймовірність виникнення проблем. Коли ж збій відбувається (а рано чи пізно це трапиться), потрібно знати, як його усунути. Як і в будь-якій іншій справі, ефективна діагностика потребує відповідних інструментів. Сьогодні ми розглянемо найкращі з них.
Спершу ми поговоримо про загальні принципи діагностики мережевих проблем. Розглянемо, що це таке, навіщо це потрібно і як правильно підійти до цього процесу. Потім перейдемо до дев’яти найкращих інструментів для діагностики. Ви побачите, що не всі з них є дорогими професійними рішеннями. Деякі – це прості утиліти командного рядка, які є в кожній сучасній операційній системі. Ми намагалися створити збалансований набір інструментів, що включає як командні, так і графічні інтерфейси. Вважаємо, що вони разом створять потужний арсенал для вирішення більшості мережевих проблем.
Процес усунення несправностей у мережі
Успішна діагностика мережевих проблем вимагає систематичного підходу. Ви починаєте з аналізу симптомів або скарг користувачів і намагаєтеся визначити першопричину проблеми. Після її виявлення, усунення часто не є складним завданням. Головна складність полягає саме у визначенні джерела. Мережі – це складні та великі системи, тому питання, з чого почати, є цілком закономірним.
Зазвичай, найкраще почати з аналізу останніх змін. Якщо ваша мережа налаштована правильно, вона не повинна виходити з ладу сама по собі. На відміну від автомобіля або іншого механічного пристрою, мережа не має деталей, що зношуються і можуть вийти з ладу. Здебільшого, коли щось починає працювати неправильно, це відбувається через якісь зміни. Це не завжди означає, що змінилася сама мережа, це може бути зміна в її використанні. Наприклад, один користувач, який завантажує великий файл з інтернету, може спричинити загальне зниження швидкості для інших.
Основне правило діагностики будь-яких проблем, не тільки мережевих, допоможе вам заощадити багато часу і нервів: не робіть припущень. Зокрема, не вважайте, що користувачі кажуть вам все – або що їхні слова є правдою. Завжди перевіряйте все самостійно.
Топ 9 інструментів для усунення мережевих несправностей
Існує величезна кількість інструментів, які можна використовувати для вирішення проблем з мережею. На цю тему написано багато книг. Сьогодні ми зосередимося на найбільш корисних інструментах. Деякі з них вам, можливо, вже відомі, але ви могли не здогадуватися, наскільки вони можуть бути корисними для діагностики. Інші інструменти у нашому списку створені спеціально для допомоги у вирішенні проблем.
1. SolarWinds Engineer’s Toolset (БЕЗКОШТОВНА ПРОБНА ВЕРСІЯ)
Першим у нашому списку є набір інструментів Engineer’s Toolset від SolarWinds. SolarWinds відома своїми продуктами для управління мережею та системами. Їхній флагманський продукт Network Performance Monitor є одним з найкращих інструментів для моніторингу мережі. SolarWinds також славиться кількома чудовими безкоштовними інструментами, деякі з яких ми нещодавно розглядали, обговорюючи найкращі калькулятори підмереж або сервери TFTP.
Сьогодні ж ми говоримо про Engineer’s Toolset. Як випливає з назви, це не один інструмент, а цілий набір. Він включає в себе понад 60 різних інструментів, які охоплюють широкий спектр задач. Завдяки функції автоматичного виявлення, інструмент знайде всі ваші мережеві пристрої, а також деталі, як наприклад, відображення портів комутатора. Хоча це не допоможе у вирішенні проблем напряму, ці відомості можуть значно покращити ваше розуміння мережі, що виявиться дуже цінним під час діагностики.
Цей набір інструментів містить потужні спеціальні інструменти для усунення несправностей. Такі як Ping Sweep, DNS Analyzer та TraceRoute можна використовувати для проведення якісної діагностики мережі та швидкого вирішення проблем. Якщо вас турбує безпека, то ви можете використати інструменти набору для імітації атак на вашу мережу, щоб знайти її вразливі місця.
Набір інструментів Engineer’s Toolset також має функції моніторингу та сповіщення. Він буде слідкувати за вашими пристроями та сповіщати вас про виявлення проблем з доступністю або працездатністю. Це часто дає вам час відреагувати, перш ніж користувачі почнуть телефонувати зі скаргами. І якщо цього недостатньо, то ви можете використовувати вбудовані інструменти для керування конфігураціями та збору журналів.
Враховуючи таку функціональність, SolarWinds Engineer’s Toolset не є безкоштовним. Його вартість починається від 1495 доларів США і розраховується за місце, тобто кожному користувачу потрібна окрема ліцензія. Якщо ви хочете випробувати цей інструмент, то на сайті SolarWinds є безкоштовна 30-денна пробна версія.
БЕЗКОШТОВНА 30-ДЕННА ПРОБНА ВЕРСІЯ: SOLARWINDS ENGINEER’S TOOLSET
Корисні інструменти командного рядка
Деякі з найкорисніших інструментів для діагностики мережі вбудовані безпосередньо в більшість операційних систем. Вони можуть не виглядати як спеціалізовані інструменти, але, як ми побачимо далі, кожен з них може дати вам важливу інформацію про можливі проблеми у вашій мережі.
2. Ping
Ping – це найпростіша з усіх команд діагностики. Вона не робить багато, але те, що вона робить, настільки корисне, що вона є частиною кожної операційної системи. Технічно, Ping просто відправляє пакети ICMP-ехо-запиту до цілі і чекає, поки вона відповість, відправивши назад пакети ICMP-відповіді. Цей процес повторюється певну кількість разів (5 за замовчуванням у Windows і постійно, поки не зупиниться в більшості Unix/Linux реалізацій), що дозволяє збирати статистику. Ping вимірює затримку між кожним запитом і відповіддю і відображає час. У варіантах Unix також відображається значення поля TTL відповіді, яке вказує на кількість переходів (маршрутизаторів) між джерелом і призначенням.
Як інструмент діагностики, Ping може бути вашим першим кроком. Припустимо, користувач скаржиться на повільну роботу з корпоративною інтрамережею. Запустивши Ping на веб-сервер інтрамережі зі станції цього користувача, ви можете швидко провести першу діагностику. Якщо статистика Ping показує повільний час відгуку, то, ймовірно, у вас є проблема з мережею. З іншого боку, якщо пінги є нормальними, то можливо проблема на стороні сервера. В будь-якому випадку це дає вам відправну точку для подальшого аналізу.
3. Tracert/Traceroute
Залежно від того, з якою операційною системою ви працюєте, Windows чи *nix, цей інструмент командного рядка називається Tracert або Traceroute. Вони майже ідентичні і служать одній і тій же цілі. Команда, яку ви запускаєте, вказавши IP-адресу призначення, покаже список всіх маршрутизаторів, через які проходить трафік між вашим комп’ютером і цільовою IP-адресою.
Як інструмент діагностики, Tracert є настільки ж корисним, як і Ping. Сучасні мережі часто створюються з резервуванням, тобто між двома точками є кілька шляхів. Коли один з цих шляхів виходить з ладу, трафік автоматично перенаправляється іншим шляхом. І цей інший шлях може працювати повільніше.
Іншою корисною функцією Traceroute є те, що вона, як і Ping, відображає статистику часу відгуку для кожного переходу. Це робить її незамінним інструментом для визначення місця будь-яких затримок у мережі. Для кожного переходу Traceroute показує вам мінімальний, середній і максимальний час відгуку.
4. Ipconfig
Ipconfig – це ще один інструмент командного рядка, що входить до складу більшості операційних систем. Ця команда використовується для відображення інформації про стек протоколів IP комп’ютера, на якому ви її запускаєте. Різні параметри командного рядка дозволяють вам відображати більше або менше інформації.
За замовчуванням, команда показує IP-адресу, маску підмережі та шлюз за замовчуванням, пов’язані з кожним мережевим інтерфейсом на комп’ютері. Додавання параметра /all покаже набагато більше інформації. Наприклад, MAC-адресу кожного інтерфейсу, чи IP-адресу та налаштування було задано вручну, чи через DHCP. Якщо через DHCP, то команда надасть інформацію про сервер DHCP та оренду.
Ipconfig виконує ще одну функцію, окрім надання інформації про локальний комп’ютер. Деякі параметри командного рядка Ipconfig дозволяють скинути або змінити деякі налаштування. Оренду DHCP можна змінити за допомогою команд ipconfig /release та ipconfig /renew. Перша скасовує поточну оренду DHCP, а друга запитує нову IP-адресу від сервера DHCP. Також, команду ipconfig /flushdns можна використовувати для очищення кешу розв’язання імен DNS.
5. Netstat
Одна з труднощів у діагностиці проблем з’єднання TCP/IP полягає у великій кількості з’єднань і служб, що працюють у кожній системі. Netstat допомагає вам визначити стан кожного з’єднання та які служби запущені, допомагаючи вам звузити пошук. Netstat, який є в більшості операційних систем, може швидко надати деталізовану інформацію про клієнтські служби та з’єднання TCP/IP.
Виконання команди показує всі активні з’єднання на локальному комп’ютері, як вхідні, так і вихідні. Крім того, Netstat може показати порти, що прослуховуються на комп’ютері, де вона запущена. Netstat – це команда з багатьма опціями. І, щоб зробити все ще більш заплутаним, ці опції відрізняються між платформами. Наприклад, Netstat -b у Windows показує ім’я файлу, пов’язаного з кожним з’єднанням, в той час як в OS X або BSD його використовують разом з -i для відображення статистики у байтах.
Найкращий спосіб дізнатися про всі доступні параметри для вашої конкретної версії Netstat – це запустити її з опцією -?, що покаже довідку. В системах *nix ви можете відкрити сторінку керівництва Netstat, щоб отримати ту саму інформацію.
6. Nslookup (і Dig)
Останніми інструментами командного рядка є Nslookup та Dig. Чому два різних інструменти? Зараз пояснимо. Nslookup та Dig використовуються для перевірки розв’язання DNS. Служба доменних імен (DNS) використовується комп’ютерами для перетворення імен хостів, таких як www.microsoft.com, на IP-адреси. Неправильне розв’язання DNS, коли DNS-сервер повертає неправильну IP-адресу, є поширеною проблемою, хоча її часто не помічають.
За командою Nslookup зазвичай слідує ім’я хоста і вона повертає відповідну IP-адресу. Одним з недоліків Nslookup, як інструмента для діагностики, є те, що, хоча за замовчуванням вона опитує DNS-сервер, налаштований локально, вона не використовує системні бібліотеки розв’язання імен. Тому Nslookup може повернути правильну інформацію, навіть якщо система визначення імен комп’ютера не працює.
Для обходу цієї проблеми був створений Dig. Хоча його синтаксис дещо відрізняється, особливо при використанні розширених параметрів, Dig виконує ті ж цілі, що й Nslookup, але використовує системні бібліотеки. Основним недоліком Dig є те, що вона не включена до складу більшості операційних систем, хоча вона постачається з Bind – програмним забезпеченням сервера DNS ISC, яке можна завантажити з сайту ISC.
7. Інструменти Sysinternals
Sysinternals не є продуктом. Це веб-сайт, який є частиною Microsoft TechNet. Sysinternals є у нашому списку, оскільки він містить кілька корисних інструментів для діагностики мережі. Загалом на сайті є понад 60 інструментів для завантаження, але не всі з них призначені для усунення несправностей мережі.
Серед найцікавіших інструментів від Sysinternals є Piping, розширена версія Ping, яку можна використовувати для вимірювання продуктивності мережі. Це інструмент командного рядка, як і Ping, але він пропонує більше опцій, наприклад, можливість виконувати Ping пакетами TCP, а не ICMP. Це може бути кращим тестом, ніж звичайний Ping, оскільки запити ICMP не завжди обробляються так само, як TCP.
Ще одним корисним інструментом від Sysinternals є TCPView, програма для Windows, яка показує детальний список всіх кінцевих точок TCP і UDP у вашій системі, включаючи локальні та віддалені адреси і стан TCP-з’єднань. В старих версіях Windows TCPView також показує ім’я процесу, якому належить кінцева точка. TCPView подібний до Netstat, який ми розглядали раніше. Проте він пропонує більш інформативний і зручний для користувача набір даних, ніж Netstat.
8. Wireshark
Сніфери пакетів – це спеціальний інструмент для діагностики, що дозволяє детально досліджувати мережевий трафік. Вони – мікроскопи інструментів для діагностики мережі. Сніфери пакетів роблять дві речі: вони захоплюють кожен пакет, що надходить або виходить з мережевого інтерфейсу, а також пропонують потужні інструменти аналізу, які декодують заголовки пакетів, збирають дані та надають чітке розуміння того, що відбувається у вашій мережі.
Коли йде мова про аналіз пакетів, Wireshark, безкоштовний інструмент з відкритим вихідним кодом, є стандартом. Він став еталоном, на який рівняються багато інших інструментів, навіть комерційних. Цей інструмент особливо відомий своїми потужними можливостями аналізу. Багато адміністраторів використовують утиліти командного рядка, такі як tcpdump або Windump, для захоплення трафіку, оскільки вони вже є в системах, де потрібно захопити трафік. Потім вони завантажують файли захоплення у Wireshark для аналізу. Окрім можливостей аналізу, фільтри Wireshark є ще однією вражаючою функцією продукту. З допомогою фільтрів можна зосередитися саме на тих даних, які їх цікавлять, що спрощує аналіз.
Wireshark має круту криву навчання, але його варто вивчити. Це один з найкорисніших інструментів для діагностики. Він існує вже майже 20 років і був портований на більшість основних платформ.
9. Nmap/Zenmap
Nmap, що означає Network Mapper, є інструментом сканування, який використовується для виявлення хостів і служб, таким чином будуючи “карту” мережі. Nmap працює, відправляючи спеціально створені пакети на цільові хости і аналізуючи відповіді.
Основне використання Nmap – це аналіз, які служби доступні на комп’ютері. Він виявить хости та їхні служби, а також визначить їхню операційну систему. За допомогою сценаріїв, інструмент можна використовувати для розширеного виявлення служб, знаходження вразливостей тощо.
Nmap – це інструмент командного рядка, що спочатку був утилітою тільки для Linux, але з тих пір його перенесли на кілька інших операційних систем, включаючи Windows, Solaris, HP-UX, більшість варіантів BSD, включаючи OS X, AmigaOS та IRIX. Якщо ви віддаєте перевагу графічному інтерфейсу користувача, то було випущено декілька GUI для Nmap. Найкращим з них є Zenmap, від тієї ж команди, що й Nmap. Zenmap, в порівнянні з Nmap, набагато легше вивчити завдяки його добре розробленому інтерфейсу користувача. Можливо, це не найкрасивіший інструмент, але він має чудову функціональність.
Висновок
Це був тільки зразок того, що ми вважаємо найкращими або найкориснішими інструментами для діагностики мережевих проблем. Є багато інших інструментів, і, чесно кажучи, ми не випробували їх усі. Можливо, існує багато інструментів, про які ми навіть не знаємо. І найкращий інструмент для одного сценарію може бути не найкращим в іншому контексті. Отже, не існує єдиного інструмента, який би задовольнив усі потреби. Найкраще мати якомога більше інструментів і навчитися ними користуватися ще до того, як вони вам знадобляться.