По вашему запросу ничего не найдено :(
Убедитесь, что запрос написан правильно, или посмотрите другие
наши статьи:
У всех профессионалов есть набор инструментов, который ежедневно помогает ему в работе. Независимо от того, проектируете ли вы сеть, диагностируете и устраняете проблему или отслеживаете среду, ваш пакет сетевых инструментов должен быть полным, удобным и надежным. Вот почему мы собрали список некоторых из основных бесплатны инструментов для сетевых администраторов, и оставили ссылки на скачивание. Некоторые будут вам знакомы, некоторые будут новыми, но в любом случае эта информация не будет лишней. Давайте начнем!
Анализаторы
Wireshark / Tshark
Wireshark - это не имеющий аналогов анализатор сетевых протоколов, и, честно говоря, один из лучших бесплатных сетевых инструментов, когда-либо созданных. Когда вы решаете сетевую проблему и вам действительно нужно погрузиться глубже, внутрь пакетов – Wireshark будет вашим микроскопом.
Если вы ищете что-то для захвата командной стоки или, возможно, вы хотите программно инициировать захват пакетов, не забудьте проверить TShark. Он включен в Wireshark, работает аналогично Tcpdump и совершенно потрясающий.
iPerf / JPerf
Между любыми двумя узлами находится сеть - огромная или маленькая. Простой пинг между двумя узлами хорош только для проверки общей достижимости и понимания времени кругового обхода для небольших пакетов. Если вы хотите измерить реально достижимую пропускную способность, вам нужен другой инструмент, такой как iPerf.
iPerf3 - последняя версия этого инструмента. Вы запускаете клиент на двух концах сети, настраивая параметры, необходимые для измерения производительности. Он поддерживает настройку многих параметров, связанных с синхронизацией, буферами и протоколами (TCP, UDP, SCTP с IPv4 и IPv6). После выполнения он активно измеряет и сообщает о пропускной способности, потерях, задержке, джиттере и т. д. Вы можете инициировать несколько одновременных подключений, чтобы действительно имитировать нагрузку в сети. Очень удобный инструмент!
Если вы больше предпочитаете графический интерфейс, то посмотрите Jperf. Он возрасте, но все еще работает как часы.
Nmap / Zenmap
Nmap (Network Mapper) - это сканер безопасности, используемый для обнаружения хостов и сервисов в компьютерной сети, который создает таким образом «карту» сети. Для достижения своей цели Nmap отправляет специально созданные пакеты целевому хосту, а затем анализирует ответы.
Nmap предоставляет невероятное количество функций для исследования сетей, включая обнаружение узлов, обнаружение служб и детектирование операционной системы.
Эти функции расширяются с помощью сценариев, которые обеспечивают более расширенное обнаружение служб, обнаружение уязвимостей и другие функции. Фактически, Nmap используется в бэкэнде для различных инструментов оценки безопасности, таких как Nexpose.
Опять же, если вы являетесь большим поклонником графического интерфейса, обязательно загрузите пакет с Zenmap.
Paessler SNMP Tester
SNMP может быть сложным. Вот почему вам нужен хороший тестер, например Paessler SNMP Tester.
Идея этой программы состоит в том, чтобы иметь инструмент, который позволяет пользователю отлаживать действия SNMP, чтобы находить проблемы со связью или с данными в конфигурациях мониторинга SNMP. Ваши устройства настроены правильно? Вы используете правильные ключи? Используйте этот инструмент, чтобы проверить, будет ли ваша конфигурация SNMP работать с такими программами, как PRTG Network Monitor.
Angry IP Scanner
Angry IP Scanner - это многопоточный сканер IP-адресов и портов с открытым исходным кодом. Подобный Nmap, используемый миллионами, он стал стандартным инструментом для сетевых администраторов. Angry IP Scanner сначала быстро пингует, затем проверяет состояние порта, затем начинает резолвить имена хостов, собирать MAC-адреса, операционные системы и все, что он может различить на основе собранных данных. Он может собирать информацию NetBIOS, такую как имена рабочих групп и доменов, а также зарегистрированных пользователей, если у вас есть привилегированные права для получения этой информации. Как и Nmap, он расширяется с помощью плагинов. Результаты сканирования могут быть сохранены в CSV, TXT, XML или файлы списка IP-портов. Работает на Windows, Mac и Linux.
Netcat
Netcat, часто описываемый как «швейцарский нож», чрезвычайно полезен для всего, что касается отправки или получения информации о сетевых портах. Это многофункциональный инструмент для отладки и исследования сети, поскольку он может создавать практически любые виды соединений, которые вам понадобятся.
Мониторинг и логирование
Nagios
Nagios - это программное решение для сетевого мониторинга. Фактически это набор решений для мониторинга доступности сети, анализа потоков данных и безопасности, а также сбора журналов для аудита. Это полностью открытый исходный код и имеет энергичное сообщество единомышленников разработчиков и администраторов.
С
Когда нужно найти какой-нибудь файл или папку в системе Linux в голову сразу приходит команда find. Она проста в использовании и имеет множество разных опций, которые позволяют оптимизировать поиск файлов. Далее приведём несколько примеров использования этой команды.
Поиск папок
Чтобы сделать поиск по папкам команде find нужно передать параметр type d. Таким образом мы скажем команде find вести поиск только по директориям:
$ find /path/to/search -type d -name "name-of-dir"
Поиск скрытых файлов
Так как скрытые файлы и директории в Linux начинаются с точки, то мы можем задать шаблон поиска так, чтобы команда рекурсивно выводила нам все скрытые файлы и директории. Для этого достаточно ввести следующую команду:
$ find /path/to/search -name ".*"
Поиск файлов по размерам
Команда find дает возможность вести поиск файлов размером больше, меньше или равным указанному значению. Чтобы найти файл размером больше 10Мб нужно ввести команду:
$ find /path/to/search -size +10M
Для поиска файлов размером меньше указанного значения или равного ему нужно ввести следующие команды:
$ find /path/to/search -size -10M
$ find /path/to/search -size 10M
Также есть возможность искать файлы размер которых находится в указанном промежутке.
$ find /path/to/search -size +100M -size -1G
Поиск файлов по списку
Допустим нам нужно найти несколько файлов, указанные в списке, который хранится в виде файла с расширением .txt. Для этого мы можем воспользоваться комбинацией команд find и grep. Чтобы данная команда работала корректно, каждый шаблона поиска в списке должен начинаться с новой строки.
$ find /path/to/search | grep -f filelist.txt
Парметр f переданный команде grep означает файл и даёт нам возможность указать файл с шаблонами для поиска. В результате работы вышеуказанной команды система вернёт нам все файлы, название которых указаны в списке.
Найти файл, которого нет в списке
Так же в системе Linux есть возможность поиска, противоположная указанному выше. То есть мы можем искать файлы, которые не указаны в списке файлов. Для этого команде grep передадим параметр vf, что означает обратное сопоставление и вернет нам файлы, названий которых не найдёт в списке шаблонов.
$ find /path/to/search | grep -vf filelist.txt
Указываем максимальную глубину поиска
По умолчанию, команда find ищет файлы во всех директориях и поддиректориях. Допустим, если мы в качестве пути для поиска укажем корневую директорию "/", то система будет искать искомый файл по всему жесткому диску. Мы можем ограничить область поиска командой maxdepth указав ему насколько глубоко нужно искать файл.
$ find . -maxdepth 0 -name "myfile.txt"
Команды указанная выше говорит системе искать файл только в указанной директории. А следующая команда предписывает вести поиск в указанной директории и в одной поддиректори.
$ find . -maxdepth 1 -name "myfile.txt"
Поиск пустых файлов
Команда find также позволяет вести поиск по пустым файлам и директориям. Для этого команде добавляем флаг empty. Следующие две команды позволяют найти пустые файли и папки. Для поиска папок к строке поиске добавляет ключ d:
$ find /path/to/search -type f empty
$ find /path/to/search -type d empty
Так же можно автоматически удалять найденные пустые файлы или папки. Следующая команда найдет и удалит все пустые файлы в указанной папке и всех подпапках:
$ find /path/to/search -type f -empty delete
Поиск самого большого файла или папки
Если нужно быстро определить какой файл или какая папка в системе занимает больше всего места, то команда find с соответствующими ключами позволит нам рекурсивно искать и сортировать файлы/папки по их размеру:
$ find /path/to/search -type f -printf "%s %p
" | sort -n | tail -1
Заметьте, что при поиске мы прибегнули к двум другим удобным инструментам Linux: sort и tail. Sort отсортирует файл по их размеру, а tail покажет самый последний файл в списке, который и будет самым большим файлом/папкой. Мы можем изменить команду так, чтобы она выводила пять самых больших файлов для этого нужно воспользоваться следующей командой:
$ find /path/to/search -type f -printf "%s %p
" | sort -n | tail -5
Что это вообще такое?
Docker Compose является инструментом для определения и запуска контейнерных приложений. С Compose вы получаете возможность настраивать службы используя файл YAML. С помощью одной команды Compose вы создаете и запускаете все службы в соответствии с вашей конфигурацией.
Установка начинается с создания каталога проекта:
$ mkdir composetest
$ cd composetest
Создайте файл под названием app.py и вставьте в него следующие данные:
import time
import redis
from flask import Flask
app = Flask(__name__)
cache = redis.Redis(host='redis', port=6379)
def get_hit_count():
retries = 5
while True:
try:
return cache.incr('hits')
except redis.exceptions.ConnectionError as exc:
if retries == 0:
raise exc
retries -= 1
time.sleep(0.5)
@app.route('/')
def hello():
count = get_hit_count()
return 'Hello World! I have been seen {} times.
'.format(count)
В нашем случае название хоста - redis, который использует порт 6379. Создайте файл под названием needs.txt в каталоге вашего проекта и вставьте его в:
flask
Redis
Теперь следует написать код для файла Dockerfile, содержащий все необходимые переменные для среды разработки.
В каталоге вашего проекта создайте файл с именем Dockerfile (файл будет определять среду приложения) и вставьте следующее содержимое:
FROM python:3.7-alpine
WORKDIR /code
ENV FLASK_APP app.py
ENV FLASK_RUN_HOST 0.0.0.0
RUN apk add --no-cache gcc musl-dev linux-headers
COPY requirements.txt requirements.txt
RUN pip install -r requirements.txt
COPY . .
CMD ["flask", "run"]
Определение сервисов осуществляется при создании файла с именем docker-compose.yml в каталоге вашего проекта со следующей информацией:
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
redis:
image: "redis:alpine"
На основании содержания файла происходит запуск двух сервисов: Web и Redis, а в дальнейшем вы можете вносить в этот файл различные БД и иную важную информацию.
C помощью команды Compose создайте ваше приложение, после чего из каталога проекта запустите приложение, запустив docker-compose. Вот так:
$ docker-compose up
Creating network "composetest_default" with the default driver
Creating composetest_web_1 ...
Creating composetest_redis_1 ...
Creating composetest_web_1
Creating composetest_redis_1 ... done
Attaching to composetest_web_1, composetest_redis_1
web_1 | * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
redis_1 | 1:C 17 Aug 22:11:10.480 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
redis_1 | 1:C 17 Aug 22:11:10.480 # Redis version=4.0.1, bits=64, commit=00000000, modified=0, pid=1, just started
redis_1 | 1:C 17 Aug 22:11:10.480 # Warning: no config file specified, using the default config. In order to specify a config file use redis-server /path/to/redis.conf
web_1 | * Restarting with stat
redis_1 | 1:M 17 Aug 22:11:10.483 * Running mode=standalone, port=6379.
redis_1 | 1:M 17 Aug 22:11:10.483 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
web_1 | * Debugger is active!
redis_1 | 1:M 17 Aug 22:11:10.483 # Server initialized
redis_1 | 1:M 17 Aug 22:11:10.483 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
web_1 | * Debugger PIN: 330-787-903
redis_1 | 1:M 17 Aug 22:11:10.483 * Ready to accept connections
Compose извлекает образ Redis, создавая образ для вашего приложения и запускает выбранные службы. В этом случае код копируется в образ во время сборки. Как вам такое?
Теперь попробуйте ввести http://localhost:5000/ в браузере, чтобы чекнуть запущенное приложение.
Если вы используете Docker для Linux, Docker Desktop для Mac или Docker Desktop для Windows, то теперь веб-приложение должно "смотреть" на порт 5000 на хосте Docker. Введите в своем веб-браузере адрес http://localhost:5000, чтобы увидеть сообщение Hello World. Если не сработает, вы также можете попробовать зайти на http://127.0.0.1:5000.
Если вы используете Docker Machine на Mac или Windows, используйте ip MACHINE_VM docker-machine для получения IP-адреса вашего хоста Docker. Затем откройте http://MACHINE_VM_IP:5000 в браузере.
Вы должны увидеть сообщение в своем браузере:
Hello World! I have been seen 1 times.
Переключитесь на другое окно терминала и введите docker image ls, чтобы вывести список локальных образов/контейнеров. Вывод на этом этапе должен показывать redis и web.
$ docker image ls
REPOSITORY TAG IMAGE ID CREATED SIZE
composetest_web latest e2c21aa48cc1 4 minutes ago 93.8MB
python 3.4-alpine 84e6077c7ab6 7 days ago 82.5MB
redis alpine 9d8fa9aa0e5b 3 weeks ago 27.5MB
Важно: Вы можете просматривать запущенные контейнеры с помощью Docker Inspect Tag или ID
Запустите docker-compose из каталога вашего проекта во втором терминале, либо нажмите CTRL + C в исходном терминале, где приложение уже запущено и отредактируйте файл Compose.
Отредактируйте docker-compose.yml в каталоге вашего проекта для внесения той или иной правки в веб-службе
version: '3'
services:
web:
build: .
ports:
- "5000:5000"
volumes:
- .:/code
environment:
FLASK_ENV: development
redis:
image: "redis:alpine"
Новый ключ редактирует каталог проекта на хосте внутри контейнера, что позволяет изменять код без необходимости перестраивать весь образ. Ключ среды устанавливает переменную FLASK_ENV, которая сообщает о запуске в режиме разработки и перезагрузке кода при изменении. Важно: этот режим должен использоваться только при разработке.
В каталоге проекта введите docker-compose up, чтобы создать приложение с обновленным файлом Compose, и запустите его.
$ docker-compose up
Creating network "composetest_default" with the default driver
Creating composetest_web_1 ...
Creating composetest_redis_1 ...
Creating composetest_web_1
Creating composetest_redis_1 ... done
Attaching to composetest_web_1, composetest_redis_1
web_1 | * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit)
…
Поскольку код приложения теперь добавляется в контейнер с помощью тома, вы можете вносить изменения в его код и мгновенно просматривать изменения без необходимости перестраивать образ.
Измените сообщение в app.py и сохраните его:
Hello from Docker!:
return 'Hello from Docker! I have been seen {} times.
'.format(count)
Обновите результат в вашем браузере (нажмите F5 или Ctrl + F5) . Приветствие должно быть обновлено, а счетчик должен увеличиваться.
Вы можете поэкспериментировать с другими командами. Если вы хотите запускать свои службы в фоновом режиме, вы можете сделать следующее:
docker-compose up and use docker-compose ps to see what is currently running:
$ docker-compose up -d
Starting composetest_redis_1...
Starting composetest_web_1...
$ docker-compose ps
Name Command State Ports
-------------------------------------------------------------------
composetest_redis_1 /usr/local/bin/run Up
composetest_web_1 /bin/sh -c python app.py Up 5000->5000/tcp
Команда docker-compose run позволяет вам применять одноразовые команды к вашим сервисов. Например, чтобы увидеть, какие переменные среды доступны для веб-службы:
$ docker-compose run web env
Выполните команду docker-compose –help, чтобы увидеть весь список доступных команд.
Если вы запустили Compose с помощью docker-compose up -d, то нужно будет остановить ваши службы после работы с ними, для этого поможет команда ниже:$ docker-compose stop
Если хотите полностью уничтожить контейнер, используйте команду down.