netcat을 사용하여 특정 이더넷 인터페이스에 연결하는 방법

netcat을 사용하여 특정 이더넷 인터페이스에 연결하는 방법

나는 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/인터페이스에서 들어오는 메시지에 응답한다는 것을 의미합니다.

관련 정보