간혹 네트워크 문제, 로드 밸런서 문제 등으로 테스트를 하다 보면, 서버 측에서의 들어오고 나가는 header 값을 확인할 필요가 있을 경우가 있다.
Windows에서는 UI로 확인을 하니 쉽게 확인을 하였으나, tcpdump를 linux에서 실행 시 너무 많은 정보가 표기되거나, 패킷 흐름에 대해서만 표기가 되거나 하기 때문에 불필요한 정보를 제외하고 header 값만을 보고 싶은 경우가 있을 수 있습니다.
아래와 같은 tcpdump 명령문을 통해서 우리는 header 값을 확인할 수 있습니다.
# header 값 확인
tcpdump -i ens192 -vvvs 1024 -l -A | egrep --line-buffered "^........(GET |HTTP\/|POST |HEAD )|^[A-Za-z0-9-]+: " | sed -r 's/^........(GET |HTTP\/|POST |HEAD )/\n\1/g'
# device 장치명 ens192는 사용하는 장치명으로 변경합니다.
tcpdump 실행으로 표시되는 값
유용한 tcpdump 명령문
tcpdump -nnvvS src 10.5.2.3 and dst port 3389
tcpdump -nvX src net 192.168.0.0/16 and dst net 10.0.0.0/8 or 172.16.0.0/16
# 특정 포트 제외
tcpdump -vv src mars and not dst port 22
# TCP RST flags
tcpdump 'tcp[13] & 4!=0'
tcpdump 'tcp[tcpflags] == tcp-rst'
# TCP SYN flags
tcpdump 'tcp[13] & 2!=0'
tcpdump 'tcp[tcpflags] == tcp-syn'
# SYN and ACK flags
tcpdump 'tcp[13]=18'
# ACK flags
tcpdump 'tcp[13] & 16!=0'
tcpdump 'tcp[tcpflags] == tcp-ack'
tcpdump 'tcp[13] & 1!=0'
tcpdump 'tcp[tcpflags] == tcp-fin'
tcpdump 'tcp[13] & 8!=0'
tcpdump 'tcp[tcpflags] == tcp-push'
tcpdump -vvAls0 | grep 'Set-Cookie|Host:|Cookie:'
# SSH session
tcpdump 'tcp[(tcp[12]>>2):4] = 0x5353482D'
# DNS
tcpdump -vvAs0 port 53
'VMware Cloud Foundation > NSX-T' 카테고리의 다른 글
NSX-T 4.1 Release 변화 (0) | 2023.03.09 |
---|---|
NSX-T 환경에서 3rd party Inline LB 사용(Asymmetric Routing) (0) | 2023.01.28 |
NSX Advanced LB - HTTP keep-alive timeout 처리 (0) | 2023.01.14 |
NSX-T에 통합된 NSX-ALB, 그리고 SSL Offload (0) | 2023.01.09 |
Powershell을 이용한 NSX-T 정보 수집 (0) | 2022.12.14 |