![nmap은 서비스가 "open|filtered"라고 표시하지만 로컬에서는 "open"입니다. 어떻게 켜나요?](https://linux55.com/image/26966/nmap%EC%9D%80%20%EC%84%9C%EB%B9%84%EC%8A%A4%EA%B0%80%20%22open%7Cfiltered%22%EB%9D%BC%EA%B3%A0%20%ED%91%9C%EC%8B%9C%ED%95%98%EC%A7%80%EB%A7%8C%20%EB%A1%9C%EC%BB%AC%EC%97%90%EC%84%9C%EB%8A%94%20%22open%22%EC%9E%85%EB%8B%88%EB%8B%A4.%20%EC%96%B4%EB%96%BB%EA%B2%8C%20%EC%BC%9C%EB%82%98%EC%9A%94%3F.png)
Quake 3 서버가 있습니다. 그리고 성공적으로 시작되었습니다.
문제는 아무도 서버에 연결할 수 없다는 것입니다.
실행 중: nmap -sU -p 27960 hostname
상태가 표시됩니다.open|filtered
서버에서 직접 명령을 실행하면 open
.
그리고 오른쪽에 묶였는지 확인했어요iface
나는 확인했다iptables규칙을 찾았지만 관련 필터를 찾을 수 없습니다. 또한 다음을 통해 명시적으로 포트를 열려고 했습니다.iptables -A INPUT -p udp --dport 27960 -j ACCEPT
그러나 이것은 도움이 되지 않습니다.
뭐가 될수 있었는지?
ISP 지원 센터에 전화했더니 아무 것도 필터링하지 않겠다고 하더군요.
답변1
로컬 시스템과 원격 시스템에서 서로 다른 nmap 결과를 얻는다는 것은 일종의 방화벽(로컬에서 실행 중이거나 일부 원격 시스템에서 실행 중)이 차단하고 있음을 의미합니다. nmap 문서에 따르면,
open|filtered
Nmap places ports in this state when it is unable to determine whether
a port is open or filtered. This occurs for scan types in which open
ports give no response. The lack of response could also mean that a
packet filter dropped the probe or any response it elicited. So Nmap
does not know for sure whether the port is open or being filtered. The
UDP, IP protocol, FIN, NULL, and Xmas scans classify ports this way.
문제가 실제로 존재하는지 알아보려면 다음 도구를 사용해 보시기 바랍니다.
- 로 전송된 UDP 패킷을 캡처
port 27960
하고 .tcpdump
패킷이 기기에 도달하는지 확인하세요.
다음 명령을 실행하여 포트 27960으로 전송된 UDP 패킷을 파일로 캡처합니다.tcpdump.out
$ sudo tcpdump -A 'udp and port 27960' -w tcpdump.out`
다음 명령을 사용하여 다른 컴퓨터에서 포트에 연결해 보십시오.netcat
$ nc <server-ip-address> -u 27960
이제 덤프를 중지하고 tcpdump.out에 캡처된 패킷이 있는지 확인하십시오.
$ wireshark tcpdump.out
패킷이 캡처되지 않으면 일부 중간 장치(방화벽)가 통신을 차단하고 있음을 의미합니다. 그렇지 않은 경우, 잡히면 요청에 대한 응답으로 서버가 제공한 응답을 확인하십시오. 오류 코드가 포함된 ICMP 응답이 있으면 일부 로컬 방화벽이 이를 차단하고 있다는 의미입니다.