일부 연결이 시간 초과되고 다른 연결이 거부되는 이유는 무엇입니까?


14

임의의 포트에서 텔넷을 시도하는 동안 두 가지 시나리오가 관찰되는 경우가있었습니다.

$ telnet example.com 3432
  Trying 173.252.110.27...

$ telnet example.com 3432
  Connection Refused.

누군가가 둘 사이의 차이점을 설명해 줄 수 있습니까?


1
첫 번째 경우 트래픽이 삭제되고 두 번째 경우 트래픽이 거부됩니다. 아래 링크는 DROP와 REJECT의 차이점을 요약합니다. chiark.greenend.org.uk/~peterb/network/drop-vs-reject
— tuk

답변:


10

example.com의 방화벽 동작이 그 이유 중 하나입니다. 방화벽이 단순히 트래픽을 삭제하면 첫 번째 응답이 표시됩니다. 반면에 방화벽이 트래픽을 거부하면 두 번째 트래픽이 발생합니다.

더 잘 이해하려면 tcpdump 또는 wireshark 와 같은 패킷 필터 를 사용하여 테스트를 수행 할 때 트래픽을 감지하십시오.

첫 번째 경우는 Syn, Syn, Syn ...

두 번째 경우는 도달 할 수없는 ICMP 포트와 함께 Syn, Rst처럼 보입니다.

성공적인 연결은 tcp 3 방향 핸드 셰이크 에서 예상되는 Syn, Syn-Ack, Ack처럼 보입니다 .


2
의심의 여지가 있으므로 일부 앱이 일부 포트에서 수신 대기하지 않고 해당 포트에 대한 연결을 차단하는 방화벽이없는 경우 두 번째 경우가 발생합니다. 응답에 RST TCP 플래그가 설정되어 있어야합니다. 제가 맞습니까 ?
— pradeepchhetri

2
@pradeepchhetri 예 . 라이브 호스트에 대한 트래픽을 수신 대기하거나 차단하는 것이 없으면 연결 거부 오류 (및 관련 TCP RST 패킷)가 표시됩니다. 그러나 오늘날 인터넷에서는 흔하지 않습니다.
— CVn
당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.