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

On Tuesday, some local media outlets included Sing Tao Daily cited sources as saying the Hong Kong government was considering restricting access to Telegram. Privacy Commissioner for Personal Data Ada Chung told to the Legislative Council on Monday that government officials, police and lawmakers remain the targets of “doxxing” despite a privacy law amendment last year that criminalised the malicious disclosure of personal information. Other crimes that the SUCK Channel incited under Ng’s watch included using corrosive chemicals to make explosives and causing grievous bodily harm with intent. The court also found Ng responsible for calling on people to assist protesters who clashed violently with police at several universities in November 2019. How to Create a Private or Public Channel on Telegram? Telegram users themselves will be able to flag and report potentially false content. The SUCK Channel on Telegram, with a message saying some content has been removed by the police. Photo: Telegram screenshot.
from us


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