πŸ““ Записки ΠΏΡ€ΠΎΠ³Ρ€Π°ΠΌΠΌΠ΅Ρ€Π°
1.02K subscribers
304 photos
1 video
6 files
599 links
Канал с рСгулярными постами ΠΎ Ρ€Π°Π·Π½Ρ‹Ρ… интСрСсных ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»Π°Ρ… (ΡΡ‚Π°Ρ‚ΡŒΠΈ, Π²ΠΈΠ΄Π΅ΠΎ, Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠΈ ΠΈ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹Π΅ инструмСнты).

https://dotnet.social/@denisio
加ε…₯钑道
Бтолкнулся Ρ‚ΡƒΡ‚ с нСобходимости ΠΏΠΎΡΠ½ΠΈΡ„Π°Ρ‚ΡŒ Π½Π° DEV срСдС Ρ‚Ρ€Π°Ρ„ΠΈΠΊ ΠΌΠ΅ΠΆΠ΄Ρƒ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°ΠΌΠΈ Π΄ΠΎΠΊΠ΅Ρ€Π°... НСкотороС количСство ΠΊΠΎΠΌΠ°Π½Π΄Π½Ρ‹Ρ… строк Π½Π° ΠΏΠ°ΠΌΡΡ‚ΡŒ.

Для Π½Π°Ρ‡Π°Π»Π° с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ docker network ls Π½Π°Π΄ΠΎ Π²Ρ‹ΡΡΠ½ΠΈΡ‚ΡŒ id Π½ΡƒΠΆΠ½ΠΎΠ³ΠΎ интСрфСйса (Π΄Π°Π»Π΅Π΅ этот id написан ΠΊΠ°ΠΊ INTERFACE), 8000 - это exposed port ΠΌΠΎΠ΅Π³ΠΎ ΠΊΠΎΠ½Ρ‚Π΅ΠΉΠ½Π΅Ρ€Π°.

Π”Π°ΠΌΠΏΡ‹ ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² Π² ASCII ( -A ):
tcpdump -i INTERFACE 'tcp dst port 8000' -A


Π’ΠΎΠΆΠ΅ самоС + поиск ΠΏΠΎ подстрокС 'Sec-WebSocket-Key':
tcpdump -i INTERFACE 'tcp dst port 8000' -A | grep 'Sec-WebSocket-Key:'


Π€ΠΈΠ»ΡŒΡ‚Ρ€Π°Ρ†ΠΈΡ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ с Ρ„Π»Π°Π³ΠΎΠΌ SYN (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€ для Ρ‚ΠΎΠ³ΠΎ Ρ‡Ρ‚ΠΎΠ±Ρ‹ ΠΏΠΎΡΠΌΠΎΡ‚Ρ€Π΅Ρ‚ΡŒ установку входящих соСдинСний):
tcpdump -i INTERFACE 'tcp dst port 8000 and (tcp[tcpflags] & (tcp-syn) != 0)' -A

ΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ keep-alive ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ²

tcpdump -i INTERFACE 'tcp dst port 8000 and (tcp[tcpflags] == tcp-ack and less 1)' -A


ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΎΠ² http-ΠΏΠ°ΠΊΠ΅Ρ‚ΠΎΠ² GET/POST/HEAD

tcpdump -i INTERFACE 'tcp dst port 8000' -A | egrep --line-buffered "^........(GET |HTTP\/|POST |HEAD )|^[A-Za-z0-9-]+: " | sed -r 's/^........(GET |HTTP\/|POST |HEAD )/\n\1/g'


Ну Π° ΠΏΠΎΡ‚ΠΎΠΌ я вспомнил, Ρ‡Ρ‚ΠΎ Π΅ΡΡ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ инструмСнт ΠΊΠ°ΠΊ nast, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ позволяСт Π΄Π°ΠΌΠΏΠΈΡ‚ΡŒ Π±ΠΎΠ»Π΅Π΅ простой строкой ΠΊΠ°ΠΊ Π·Π°Π³ΠΎΠ»ΠΎΠ²ΠΊΠΈ Ρ‚Π°ΠΊ ΠΈ Ρ‚Π΅Π»ΠΎ входящСго запроса:
nast -i INTERFACE -d -f 'tcp dst port 8000'


#tools #docker #tcpdump
πŸ‘8