포트 전달 결과 충돌

포트 전달 결과 충돌

아 정말 이상한 상황이네요.

저는 Python 프로그램에서 서버 소켓을 실행하려고 합니다(코드는 걱정하지 마세요). 작동하려면 서버가 실행될 포트를 전달해야 합니다. 내 라우터에 대해 이 사이트에 자세히 설명된 지침에 따라 내 코드에 사용 중인 포트를 전달했습니다.http://portforward.com/

PFPortChecker(PFNetworkUtilites의 일부, 해당 사이트의 일부)를 사용하면 내가 전달한 포트가 실제로 TCP 및 UDP 프로토콜 모두에서 열려 있다고 표시됩니다. 그러나 온라인 포트 검사 사이트를 사용하면 부정적인 결과가 나타납니다. 또한 이전에 이 포트 포워딩 문제가 없었을 때 작동되었음에도 불구하고 내가 만든 프로그램에 외부 장치에서 연결할 수 없습니다.

나는 Technicolor TG582n FTTC 라우터를 가지고 있으며, 도구 상자 유틸리티를 사용하여 사용자 정의 응용 프로그램을 만들고 네트워크 장치에 할당하여 포트포워딩했습니다.

한 사이트에서는 테스트할 때 내 포트가 방화벽에 의해 필터링되었을 수 있다고 말했지만, 방화벽을 완전히 비활성화하고 해당 사이트에서 테스트를 다시 실행했는데도 여전히 내 포트가 필터링되었다고 표시되고 다른 사이트에서는 여전히 부정적인 결과가 나왔습니다.

답변1

이 문제는 해결하기가 정말 쉽습니다.

먼저 프로그램이 포트에서 실행되고 있는지 확인하십시오. 그래서 명령을 수행

C:\>netstat -aon <ENTER>

또는

C:\>netstat -aon | find "1234"<ENTER> <--- 포트가 1234인 경우

0.0.0.0:1234가 표시되는지 확인하세요.

cygwin의 nc와 같은 포트에서 항상 서버를 시작할 수도 있고 nc -l 1234서버가 무엇이든 BRS Webweaver, BPFTP, Apache, ssh VNC 등 모든 서버를 사용해 볼 수도 있습니다. 귀하의 서버 프로그램은 괜찮습니다.

이제 서버에 연결해 보십시오. 텔넷을 사용할 수 있습니다. Telnet IP 포트(예: telnet 192.168.1.1 1234 Win7의 Telnet 클라이언트)를 활성화해야 합니다. 또는 cygwin에서 nc 명령을 사용하여 서버에 연결할 수도 있습니다. 그래서 nc 192.168.1.1 1234 연결이 되는지 확인해 보세요.

기기 자체에서 연결할 수 있는지 확인하세요. nc 127.0.0.1 1234

테스트를 마친 후에는 LAN에서 연결할 수 있는지 확인하세요.

단, LAN에서 연결할 수 있으면 포트 전달을 수행하십시오.

말씀하신 프로그램 설명을 보시면http://portforward.com/help/portcheck.htm 테스트 중인 포트에서 자체 프로그램을 만든다고 합니다. 따라서 하나는 녹색 표시등을 제공하지만 온라인 포트 스캐너는 그렇지 않은 경우 프로그램이 포트에서 수신 대기하고 있지 않을 수 있습니다.

테스트해야합니다

A)Is your server rujnning.  shown in netstat 0.0.0.0 with port.
B)Can you connect to your server locally 
C)Can you connect from LAN (if not then an OS firewall is stopping you
D)THEN, look at port forwarding

관련 정보