티스토리 뷰
연결 수립에 사용되는 3Way-HandShake
TCP 패킷 플래그
+-----+-----+-----+----+-----+----+
| URG | ACK | PSH | RST | SYN | FIN |
+-----+-----+-----+----+-----+----+
SYN 패킷 캡쳐 (클라이언트의 연결 시도)
$ tcpdump -i <interface> port 80 and "tcp\[tcpflags\] & (tcp-syn) !=0"
SYN+ACK 패킷 캡쳐(클라이언트 요청에 대한 서버 응답)
$ tcpdump -i <interface> port 80 and "tcp\[tcpflags\] & (tcp-syn) !=0 and tcp\[tcpflags\] & (tcp-ack) = 0"
SYN 또는 ACK 중 하나만이라도 포함된 패킷 캡쳐
$ tcpdump -i <interface> port 80 and "tcp\[tcpflags\] & (tcp-syn|tcp-ack) != 0"
TCP 통신 종료 (FIN+RST)
$ tcpdump -i <interface> port 80 and "tcp\[tcpflags\] & (tcp-fin|tcp-rst) != 0"
클라이언트에게 SYN Packet을 수신한 경우 iptables 정책에 의해 drop하여도 tcpdump에는 출력된다.
iptables을 이용하여 특정 클라이언트에게 들어온 요청에 대한 응답(SYN+ACK)을 하지 않을 수 있다.
댓글