Как да използвате командата Netstat на Mac

Съдържание:

Как да използвате командата Netstat на Mac
Как да използвате командата Netstat на Mac
Anonim

Какво да знаете

  • За да стартирате netstat и да видите подробни данни за мрежата на вашия Mac, отворете нов Terminal прозорец, въведете netstat и натиснетеВъведете.
  • Ограничете изхода на netstat с флагове и опции. За да видите наличните опции на netstat, напишете man netstat в командния ред.
  • Използвайте командата lsof, за да компенсирате липсващата или ограничена функционалност на netstat, включително показване на всички отворени в момента файлове във всяко приложение.

Тази статия обяснява как да стартирате командата netstat Terminal в macOS, така че да можете да видите подробна информация за мрежовите комуникации на вашия Mac, включително начините, по които вашият Mac говори с външния свят, през всички портове и всички приложения.

Как да стартирате Netstat

Научаването как да използвате netstat може да ви помогне да разберете връзките, които вашият компютър прави и защо. Командата netstat е налична на Mac по подразбиране. Не е необходимо да го изтегляте или инсталирате.

За да стартирате netstat:

  1. Отидете на Finder > Отидете > Помощни програми.

    Image
    Image
  2. Щракнете двукратно върху Terminal.

    Image
    Image
  3. В новия прозорец на терминала въведете netstat и натиснете Return (или Enter) за да изпълните командата.

    Image
    Image
  4. Огромно количество текст ще започне да се превърта на екрана ви. Ако не използвате нито един от наличните флагове (вижте по-долу), netstat отчита активните мрежови връзки на вашия Mac. Имайки предвид броя на функциите, които изпълнява едно модерно мрежово устройство, можете да очаквате списъкът да е дълъг. Един стандартен отчет може да включва над 1000 реда.

    Image
    Image

Флагове и опции на Netstat

Филтрирането на изхода на netstat е от съществено значение за разбирането какво се случва на активните портове на вашия Mac. Вградените флагове на Netstat ви позволяват да задавате опции, ограничавайки обхвата на командата.

За да видите всички налични опции на netstat, напишете man netstat в командния ред, за да разкриете страницата man на netstat (съкращение от „ръчно“). Можете също така да видите онлайн версия на страницата на ръководството на netstat.

Синтаксис

Важно е да се отбележи, че netstat на macOS не работи по същия начин като netstat на Windows и Linux. Използването на флагове или синтаксис от тези реализации на netstat може да не доведе до очакваното поведение.

За да добавите флагове и опции към netstat на macOS, използвайте следния синтаксис:

netstat [-AabdgiLlmnqrRsSvWx] [-c опашка] [-f адрес_семейство] [-I интерфейс] [-p протокол] [-w чакане]

Ако горната стенограма изглежда напълно неразбираема, научете как да четете синтаксиса на командите.

Полезни знамена

Ето някои от най-често използваните знамена:

  • - a включва сървърни портове в изхода на netstat, които не са включени в изхода по подразбиране.
  • - g показва информация, свързана с мултикаст връзки.
  • Интерфейсът

  • - I предоставя пакети данни за посочения интерфейс. Всички налични интерфейси могат да се видят с - i флаг, но en0 обикновено е изходящият мрежов интерфейс по подразбиране. (Обърнете внимание на малката буква.)
  • - n потиска етикета на отдалечени адреси с имена. Това ускорява изхода на netstat, като същевременно елиминира само ограничена информация.
  • - p протокол изброява трафика, свързан с конкретен мрежов протокол. Пълният списък с протоколи е достъпен на /etc/protocols, но най-важните са udp и tcp.
  • - r показва таблицата за маршрутизиране, показваща как пакетите се маршрутизират в мрежата.
  • - s показва мрежовата статистика за всички протоколи, независимо дали протоколите са активни или не.
  • - v увеличава многословността, по-специално чрез добавяне на колона, показваща идентификатора на процеса (PID), свързан с всеки отворен порт.

Примери за Netstat

Разгледайте тези примери:

netstat -apv TCP

Тази команда връща само TCP връзки на вашия Mac, включително отворени портове и активни портове. Той също така използва подробен изход, изброявайки PID, свързани с всяка връзка.

netstat -a | grep -i "слушам"

Тази комбинация от netstat и grep разкрива отворени портове, които са портове, които слушат за съобщение. Символът за тръба | изпраща изхода на една команда към друга команда. Тук изходът от netstat препраща към grep, което ви позволява да търсите в него по ключовата дума "слушай" и да намерите резултатите.

Достъп до Netstat чрез Network Utility

Можете също така да получите достъп до някои функции на netstat чрез приложението Network Utility, което е включено във версиите на macOS до Catalina (не е включено в Big Sur).

За да стигнете до Network Utility, въведете Network Utility в Spotlight Search, за да стартирате приложението, след което изберете раздела Netstat за достъп до графичен интерфейс.

Image
Image

Опциите в Network Utility са по-ограничени от тези, достъпни чрез командния ред. Всеки от четирите избрани бутона за избор изпълнява предварително зададена команда netstat и показва изхода.

Командите netstat за всеки бутон за избор са както следва:

  • Показване на информация за таблицата за маршрутизиране работи netstat -r.
  • Показване на изчерпателна мрежова статистика за всеки протокол работи netstat -s.
  • Показване на информация за мултикаст работи netstat -g.
  • Показване на състоянието на всички текущи връзки на сокет работи netstat.
Image
Image

Допълване на Netstat с Lsof

Внедряването на netstat в macOS не включва голяма част от функционалността, която потребителите очакват и от която се нуждаят. Въпреки че има своите приложения, netstat не е толкова полезен за macOS, колкото е за Windows. Различна команда, lsof, замества голяма част от липсващата функционалност.

Lsof показва отворени в момента файлове в приложения. Можете също да го използвате, за да проверите отворените портове, свързани с приложението. Изпълнете lsof -i, за да видите списъка с приложения, комуникиращи през интернет. Това обикновено е целта при използване на netstat на Windows машини; но единственият смислен начин за изпълнение на тази задача на macOS не е с netstat, а с lsof.

Image
Image

Lsof флагове и опции

Показването на всеки отворен файл или интернет връзка обикновено е многословно. Ето защо lsof идва с флагове за ограничаване на резултатите със специфични критерии. Най-важните са по-долу.

За информация относно повече флагове и технически обяснения за всеки от тях, вижте страницата с ръководството на lsof или изпълнете man lsof на подканата на терминала.

  • - i показва отворени мрежови връзки и името на процеса, който използва връзката. Добавянето на 4, както в - i4, показва само IPv4 връзки. Добавянето на 6 вместо (- i6) показва само IPv6 връзки.
  • Флагът - i също може да бъде разширен, за да посочи допълнителни подробности. -iTCP или -iUDP връща само TCP и UDP връзки. -iTCP:25 връща само TCP връзки на порт 25. Диапазон от портове може да бъде посочен с тире, тъй като -iTCP:25-50.
  • Използването на [email protected] връща само връзки към IPv4 адрес 1.2.3.4. IPv6 адресите могат да бъдат посочени по същия начин. Прекурсорът @ може също да се използва за указване на имена на хостове по същия начин, но отдалечените IP адреси и имената на хостове не могат да се използват едновременно.
  • - s обикновено принуждава lsof да показва размера на файла. Но когато се съчетае с флага - i, - s работи по различен начин. Вместо това позволява на потребителя да посочи протокола и състоянието на командата, която да върне.
  • - p ограничава lsof до определен идентификатор на процес (PID). Множество PID могат да бъдат зададени чрез използване на общи, като -p 123, 456, 789. Идентификаторите на процеси също могат да бъдат изключени с ^, както в 123, ^456, което конкретно би изключило PID 456.
  • - P деактивира преобразуването на номера на портове в имена на портове, ускорявайки изхода.
  • - n забранява преобразуването на мрежови номера в имена на хостове. Когато се използва с - P по-горе, може значително да ускори изхода на lsof.
  • - u потребител връща само команди, притежавани от посочения потребител.

lsof Примери

Ето няколко начина за използване на lsof.

lsof -nP [email protected]:513

Тази сложно изглеждаща команда изброява TCP връзките с името на хоста lsof.itap и порта 513. Тя също така изпълнява lsof без свързване на имена към IP адреси и портове, правейки командата да работи значително по-бързо.

lsof -iTCP -sTCP:СЛУШАЙТЕ

Тази команда връща всяка TCP връзка със статус LISTEN, разкривайки отворените TCP портове на Mac. Той също така изброява процесите, свързани с тези отворени портове. Това е значителна надстройка спрямо netstat, който изброява най-много PID.

Image
Image

sudo lsof -i -u^$(whoami)

Image
Image

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

Други мрежови команди на терминала, които може да представляват интерес при изследване на вашата мрежа, включват arp, ping и ipconfig.

Препоръчано: