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: |

To view your bio, click the Menu icon and select “View channel info.” Members can post their voice notes of themselves screaming. Interestingly, the group doesn’t allow to post anything else which might lead to an instant ban. As of now, there are more than 330 members in the group. The initiatives announced by Perekopsky include monitoring the content in groups. According to the executive, posts identified as lacking context or as containing false information will be flagged as a potential source of disinformation. The content is then forwarded to Telegram's fact-checking channels for analysis and subsequent publication of verified information. Healing through screaming therapy The imprisonment came as Telegram said it was "surprised" by claims that privacy commissioner Ada Chung Lai-ling is seeking to block the messaging app due to doxxing content targeting police and politicians.
from us


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