
나는 netcat을 사용하여 내가 가지고 있는 사용자 정의 보드에 일부 데이터를 반영하려고 합니다. 보드는 연결을 위해 10G 이더넷 연결을 사용합니다. 링크가 열려있는 것을 볼 수 있는데, netcat을 사용하려고 하면 아무런 응답이 없습니다. 나는 이것이 Linux가 다른 이더넷 포트로 요청을 보내기 때문이라고 생각합니다. 누군가 내가 사용하고 싶은 인터페이스를 지정하는 방법을 말해 줄 수 있나요?
답변1
Netcat은 포트에서 수신 대기하는 모든 데몬에 연결할 수 있습니다. 데몬이 응답하지 않을 수 있습니다. 이는 연결의 서버 측이 수신 대기하는 애플리케이션에 따라 다릅니다.
예를 들어 서버 측에서 사용하면 nc -l
응답이 없습니다. 클라이언트의 netcat은 데이터를 서버의 수신 netcat으로 전송합니다. 해당 전송을 파일로 리디렉션하여 보낸 데이터가 수신되었는지 확인할 수 있습니다.
또는 클라이언트에서 이를 사용하여 telnet <host> <port>
연결이 있는지 확인할 수도 있습니다.
기본적으로 텔넷은 성공적인 각 연결 앞에 다음을 추가합니다.
Trying 10.0.9.150...
Connected to 10.0.9.150.
Escape character is '^]'.
귀하의 질문에 대한 직접적인 대답은 nc의 클라이언트 측 인터페이스를 지정하지 않았다는 것입니다.
호스트와 포트를 제공하십시오.
구문은 다음과 같습니다.
nc host port
켜짐(mac/darwin unix)
서버 측에서는 인터페이스가 IP에 매핑됩니다. DHCP가 존재하고 구성된 경우 이 작업은 자동으로 수행됩니다. 아니면 정적으로 설정할 수도 있습니다.
IP를 식별한 후에는 ip addr
아래 설명에 따라 nc를 사용하여 수신할 수 있습니다.https://serverfault.com/questions/512333/how-can-i-configure-netcat-or-some-other-stock-linux-utility-to-listen-on-a-sp#512337
그러나 netcat 클라이언트는 포트에서 수신 대기하는 대부분의 다른 응용 프로그램과 통신할 수 있습니다. 해당 서비스를 특정 IP에 연결하는 방법을 알아보려면 연결하려는 서비스에 대한 특정 설명서를 참조하세요. 대부분의 경우(모든 경우는 아니지만) IP를 지정하지 않은 경우. 데몬은 시작된 모든 인터페이스의 모든 포트를 수신합니다.
다음을 통해 볼 수 있습니다:
netstat -nlpt
0.0.0.0은 서비스가 지정된 포트의 모든 IP/인터페이스에서 들어오는 메시지에 응답한다는 것을 의미합니다.