У меня есть среда выполнения Linux, работающая на ПЛК. Моя машина разработки работает под управлением Ubuntu 14.04. ПЛК и машина разработки подключены через пятипортовый коммутатор. Я ssh на ПЛК со своей машины разработки, чтобы передать исполняемый файл сетевого приложения, которое я разрабатываю на своей машине разработки.
Я запускаю tcpdump на ПЛК, чтобы отладить типы пакетов, которые получает мое сетевое приложение, НО, как только я запускаю tcpdump, начинается поток синхронизации ssh и отправляется обратно и обратно с моей машины ubuntu на ПЛК. Светодиодные индикаторы контроллера Ethernet ПЛК, а также на переключателе начинают быстро мигать. Поток подавляет ПЛК, и он почти умирает, в то время как все остальные пакеты отбрасываются. Это похоже на атаку DOS всякий раз, когда я запускаю tcpdump, но как только я останавливаю tcpdump, все успокаивается и возвращается к нормальному состоянию.
Хотелось бы узнать, как решить эту проблему и почему это происходит?
Любая помощь будет оценена.
Моя команда просто> tcpdump -i eth0. но то, что я не понимаю, почему запуск tcpdump внезапно увеличивает объем трафика.
Попробуйте повернуться лицом к зеркалу перед зеркалом, и вы поймете идею. Если нет, попробуйте смотреть в зеркало и зеркало и не позволять зеркалу видеть само себя.
Поскольку ваш SSH-трафик также является частью захвата, который захватывается и сообщается через ваш сеанс SSH. Конечно, поскольку он зашифрован, это означает, что вы ничего не видите внутри пакета SSH, но когда tcpdump распечатывает заголовки пакета для вашего терминала, эти изменения в ваш терминал передаются по сети. Но эти изменения, передаваемые по сети, вызовут захват, отображение и т. Д. Большего количества данных по сети.
В любом случае, решение отфильтрует ssh из вашего захвата, или клиентской машины, или обоих. Также установка -n
возможность запретить tcpdump выполнять поиск DNS, а также загрязнять ваш захват запросами / ответами DNS, которые не имеют ничего общего с фактической активностью.
tcpdump -ni eth0 not port 22
tcpdump -ni eth0 not host ip.of.the.sshclient
tcpdump -ni eth0 not host ip.of.the.sshclient and not port 22