LIFE_OF_NETWORK_ENGINEER Telegram 86
Разбирали плавающую проблему, требовалось поймать «проблемные» запросы на одном из балансировщиков.

Задача: записать дамп трафика только с POST-запросами, отправлять на удаленный сервер и сохранять в файл.

Cкрипт в одну строчку:
nohup /usr/sbin/tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354' and host <host-ip> -w | ssh <storage-ip> tcpdump -r - -w /var/log/file.pcap -G 600


где,

🟢nohup

Это команда, которая позволяет запустить процесс, игнорируя сигнал HUP (hang up), т.е. поддерживает работу процесса даже после выхода из оболочки или терминала. HUP как раз таки отправляется процессу при закрытии терминала.

🟢/usr/sbin/tcpdump

Это путь к бинарному файлу tcpdump (в Ubuntu).

🟢-s 0

Указывает размер захватываемого пакета. Значение 0 означает, что будет захвачен полный пакет (без усечения).

🟢-A

Эта опция заставляет tcpdump выводить данные в ASCII-формате, что удобно для анализа текстовой информации в пакетах.

🟢-vv

Увеличивает уровень подробности вывода.

🟢'tcp[((tcp[12:1] 0xf0) >> 2):4] = 0x504f5354'

Это фильтр, который использует синтаксис BPF (Berkeley Packet Filter). Он проверяет, соответствует ли TCP-пакет определенному условию. В данном случае он ищет пакеты, содержащие строку "POST" (в шестнадцатеричном виде 0x504f5354) в заголовке TCP.

🟢and host <host-ip>

Захватываем только пакеты, направленные к или от хоста с IP-адресом <host-ip>

🟢-w

Опция для записи захваченных пакетов в файл. Однако в данном случае отсутствует имя файла, так как вывод будет перенаправлен через конвейер (pipe).

🟢| ssh <storage-ip>

Символ «|» (pipe) используется для перенаправления вывода одной команды на вход другой команды. Здесь вывод tcpdump передается через SSH на удаленный сервер с IP-адресом <storage-ip>.

🟢tcpdump -r -

На удаленном сервере tcpdump читает данные из стандартного ввода (-), то есть из потока, который был передан через SSH.

🟢-w /var/log/file.pcap

Здесь указывается имя файла, в который будут записаны захваченные пакеты на удаленном сервере.

🟢-G 600:

Эта опция указывает tcpdump создавать новый файл каждые 600 секунд (10 минут). Можно использовать опцию создавать новый файл при достижении определенного объема, но нас интересовал временной промежуток, чтобы отловить проблему.

P.S. Уверен, есть еще масса вариантов сделать то же самое.

#Задача
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍11👏1



tgoop.com/life_of_network_engineer/86
Create:
Last Update:

Разбирали плавающую проблему, требовалось поймать «проблемные» запросы на одном из балансировщиков.

Задача: записать дамп трафика только с POST-запросами, отправлять на удаленный сервер и сохранять в файл.

Cкрипт в одну строчку:

nohup /usr/sbin/tcpdump -s 0 -A -vv 'tcp[((tcp[12:1] & 0xf0) >> 2):4] = 0x504f5354' and host <host-ip> -w | ssh <storage-ip> tcpdump -r - -w /var/log/file.pcap -G 600


где,

🟢nohup

Это команда, которая позволяет запустить процесс, игнорируя сигнал HUP (hang up), т.е. поддерживает работу процесса даже после выхода из оболочки или терминала. HUP как раз таки отправляется процессу при закрытии терминала.

🟢/usr/sbin/tcpdump

Это путь к бинарному файлу tcpdump (в Ubuntu).

🟢-s 0

Указывает размер захватываемого пакета. Значение 0 означает, что будет захвачен полный пакет (без усечения).

🟢-A

Эта опция заставляет tcpdump выводить данные в ASCII-формате, что удобно для анализа текстовой информации в пакетах.

🟢-vv

Увеличивает уровень подробности вывода.

🟢'tcp[((tcp[12:1] 0xf0) >> 2):4] = 0x504f5354'

Это фильтр, который использует синтаксис BPF (Berkeley Packet Filter). Он проверяет, соответствует ли TCP-пакет определенному условию. В данном случае он ищет пакеты, содержащие строку "POST" (в шестнадцатеричном виде 0x504f5354) в заголовке TCP.

🟢and host <host-ip>

Захватываем только пакеты, направленные к или от хоста с IP-адресом <host-ip>

🟢-w

Опция для записи захваченных пакетов в файл. Однако в данном случае отсутствует имя файла, так как вывод будет перенаправлен через конвейер (pipe).

🟢| ssh <storage-ip>

Символ «|» (pipe) используется для перенаправления вывода одной команды на вход другой команды. Здесь вывод tcpdump передается через SSH на удаленный сервер с IP-адресом <storage-ip>.

🟢tcpdump -r -

На удаленном сервере tcpdump читает данные из стандартного ввода (-), то есть из потока, который был передан через SSH.

🟢-w /var/log/file.pcap

Здесь указывается имя файла, в который будут записаны захваченные пакеты на удаленном сервере.

🟢-G 600:

Эта опция указывает tcpdump создавать новый файл каждые 600 секунд (10 минут). Можно использовать опцию создавать новый файл при достижении определенного объема, но нас интересовал временной промежуток, чтобы отловить проблему.

P.S. Уверен, есть еще масса вариантов сделать то же самое.

#Задача

BY Будни сетевика




Share with your friend now:
tgoop.com/life_of_network_engineer/86

View MORE
Open in Telegram


Telegram News

Date: |

Select “New Channel” A few years ago, you had to use a special bot to run a poll on Telegram. Now you can easily do that yourself in two clicks. Hit the Menu icon and select “Create Poll.” Write your question and add up to 10 options. Running polls is a powerful strategy for getting feedback from your audience. If you’re considering the possibility of modifying your channel in any way, be sure to ask your subscribers’ opinions first. Deputy District Judge Peter Hui sentenced computer technician Ng Man-ho on Thursday, a month after the 27-year-old, who ran a Telegram group called SUCK Channel, was found guilty of seven charges of conspiring to incite others to commit illegal acts during the 2019 extradition bill protests and subsequent months. So far, more than a dozen different members have contributed to the group, posting voice notes of themselves screaming, yelling, groaning, and wailing in various pitches and rhythms. Avoid compound hashtags that consist of several words. If you have a hashtag like #marketingnewsinusa, split it into smaller hashtags: “#marketing, #news, #usa.
from us


Telegram Будни сетевика
FROM American