“0.0.0.0”IP 주소가 할당 된 장치와 통신하는 방법은 무엇입니까?


20

VxWorks 라는 꽤 기본적인 OS에서 실행되는 산업용 장비가 있습니다. 일반적으로 IPv4 IP를 로컬 IP와 동일한 범위로 설정 한 다음 진단 소프트웨어를 실행하여 문제 해결을 위해 시스템과 통신합니다.

몇 주 전에 나는 이상한 이유로 시스템의 로컬 IP 주소가로 설정되었다는 것을 발견했다 0.0.0.0. 이제 진단을 변경하여 진단하고 싶지만 PC에서 시작하는 IP 설정을 허용하지 않습니다 0.

0.0.0.0Windows PC 를 사용하는 로컬 IP가있는 장치와 통신하는 다른 방법이 있습니까?

제조업체로 다시 보내지 않고 장치를 공장 기본 설정으로 재설정 할 수는 없습니다.


14
다른 상태 0.0.0.0는 라우팅 가능한 주소가 아닙니다. 많은 소프트웨어 조각이 0.0.0.0해당 소프트웨어가 네트워크 인터페이스에 할당 된 모든 IP 주소에 바인딩 될 수 있도록 바인딩됩니다. 예를 들어 장치를 DHCP 설정에 쉽게 배치 할 수 있으며 장치 IP 주소를 가져와 연결하면됩니다. 내 큰 질문은 컴퓨터의 IPv4 IP를 로컬 IP와 동일한 범위로 설정하여 진단 소프트웨어를 실행하는 이유는 무엇입니까? 말이되지 않습니다. 장치의 IP 주소를 가져 와서 연결해야합니다. 그건, 나는 생각이있다. 답변을 게시합니다.
JakeGould

VX Works는 DHCP를 실행하지 않을 수 있으므로 VX Works에서 내부적으로 수행해야하는 고정 IP 주소가 필요할 수 있습니다. 또한 PC에서 해당 VX Works 시스템과 통신하는 모든 소프트웨어 또는 인터페이스는 해당 IP 주소를 알아야합니다. VX Works 컴퓨터와 통신해야하는 모든 컴퓨터가 해당 IP 주소를 알고 있는지 확인해야합니다. 자동으로 채워지거나 수동으로 입력해야 할 수 있습니다. 모든 0의 주소는 기본 게이트웨이로 작동하지만 VX Works 시스템과 호스트가 둘 다 통신하려는 경우 해당 게이트웨이에 공통점이 있습니다.
Shankensteinium

7
장치가 0.0.0.0의 IP 주소를 사용하고 있는지 어떻게 알 수 있었습니까? 네트워크를 통해 장치와 통신 할 수있는 소프트웨어를 사용 했습니까, 아니면 장치에 기본 HMI (Human-Machine Interface)가 있습니까? 또한 명백한 질문을 피하기 위해 문제를 해결 한 다음 다시 시도하여 정상적인 주소를 선택했는지 확인 했습니까?
Sam Skuce

5
0.0.0.0표준 준수 IP 스택이있는 경우 자체적으로 주소를 할당 할 수 없습니다. 여기에는 몇 가지 옵션이 있습니다. 1.0.0.0.0 IP 주소 할당에 실패했음을 알리는 방법으로 표시 됩니다. 2. 어쨌든 스스로 할당 된 IP 스택이 손상되었습니다 0.0.0.0. VxWorks에 대해 두 가지 중 어느 것이 가장 가능성이 높은지 알 수 없습니다. 실제로 주소 0.0.0.0를 할당했다면 해킹 된 IP 스택이 있어야 통신 할 수 있습니다. 그러나 주소를 전혀 할당하지 않으면 그다지 좋지 않습니다.
kasperd

4
IP 주소가 0.0.0.0임을 어떻게 알았습니까? 당신이 터미널에 있다면, 그것을 사용하여 IP를 설정할 수 있습니다.
CramerTV

답변:


23

0.0.0.0유효한 IP 주소가 아닙니다. RFC1700 (a)에 따르면 0.0.0.0/8( 0.anything.anything.anything)은 소스 주소로만 예약되어 있습니다.

일반적으로 시스템과 응용 프로그램이 포트를 바인딩 0.0.0.0하므로 모든 인터페이스에서 포트에 액세스 할 수 있습니다.

VxWrks에 익숙하지 않지만 다른 컴퓨터 장치와 인터페이스하기 위해 로컬 IP를 지정하는 방법이 있다고 가정합니다.

WindRiver에는 IP 설정 구성 방법에 대한 다양한 설명서가 있습니다.


소스0.0.0.0 로만 유효한 경우 포트는 어떻게 액세스 할 수 있습니까? 세부 사항이 누락되었다고 확신하지만 모순처럼 들립니다. 0.0.0.0
Captain Man

20
@CaptainMan : 소켓 API 의 측면과 IP 프로토콜 의 측면을 혼동하고 있습니다 . 바인딩 0.0.0.0은 로컬로 구성된 주소로 주소가 지정된 패킷 / 연결을 수락하는 API 수준의 것입니다. 0.0.0.0프로토콜 수준 어디에서든 이동 하도록 주소가 지정된 패킷은 포함하지 않습니다 .
R ..

1
@CaptainMan : 0.0.0.0은 빈 문자열로 취급됩니다. 연결을 수락하도록 서버를 설정하면 모든 IP 주소의0.0.0.0 연결을 수락하게됩니다 . 이것이 바로 그 의미입니다. 바인딩하지 않으면 서버는 단일 IP 주소의 연결 만 수락하고 네트워크의 다른 시스템과의 연결은 거부합니다. 0.0.0.0이 아닌 바인딩을 일종의 내장 방화벽으로 생각하십시오0.0.0.00.0.0.0
slebetman

13

장치에 실제 IP 주소가 있다고 생각하도록 PC를 속일 수 있습니다. 그러나 6 개의 6 자리 숫자 필드를 가진 물리적 주소 (MAC 주소라고도 함)가 필요합니다. arp resolution table에 추가하면됩니다. Windows에서 cmd 터미널을 열고 arp를 사용하십시오.

arp -s <IP address> <physical address>

물론 네트워크에 고유 한 IP 주소가 필요합니다. 그렇지 않으면 스택이 다른 곳으로 경로가 변경됩니다. 이 시점에 도달하면 장치에 액세스 할 수 있어야합니다. 네트워크 인프라는 실제 주소에 따라 라우팅됩니다.

리눅스에서 거의 동일합니다. 터미널을 열고 arp를 사용하십시오.

작동하지 않을 수 있습니다 !! 일부 장치는 자신의 IP에만 응답합니다. 그러나 나는 그것이 당신의 경우가 아니라고 생각합니다.


1
이것이 작동하는지 알고 싶습니다. 확실히 멋진 트릭입니다.
trognanders

@ BaileyS 오 그것은 정상적인 상황에서 잘 작동합니다. 주소 확인을위한 수동 재정의를 자동 테이블에 삽입하기 만하면됩니다. 그것이 op 도움이 될지 여부는 다른 질문입니다
Gnudiff

2
이제이 주소로 물건을 보낼 수 있다고해서 응답이있는 경우 항상 올바르게 처리 할 수있는 것은 아닙니다.
rackandboneman

1
iptables에의 대부분은 ... 그래서 작품의 종류에 제한적으로 액세스 할 수도 있습니다, 기계 라우팅 가장 낮은 수준 이상
rackandboneman

1
@BaileyS 그것은하지 않습니다. 정상적인 IP 스택을 가진 장치는 안됩니다. 라우팅 테이블은 패킷 주소를 자신의 IP 주소가 아닌 다른 IP 번호로 라우팅하거나 라우팅 방법을 모릅니다. 이 경우 OP는 소형 산업용 장치를 요구합니다. IP 스택이 구현되어 있지 않을 가능성이 높습니다. 도달 한 모든 패킷에 응답합니다. 나는 그것을 많이 보았고 사용했기 때문에 그것을 알고 있습니다. 비용을 절약하기 위해 구성을위한 패널이나 인터페이스가 없습니다. MAC 주소와 일치하는 "추천 된"IP를 가진 패킷을 보내는 것으로 충분합니다.
Gabe Mizuka

12

0.0.0.0IP 주소는 잘하지만 난 다른 장치가 쉽게 해당 장치에 연결하기위한 진단 소프트웨어를 허용에서 제로 구성 네트워킹 트래픽을 차단하도록에있는 네트워크에 변경 뭔가를 생각합니다.

다른 사람들과 마찬가지로, 대답의 상태는 0.0.0.0라우팅 할 수없는 IP 주소이며 소프트웨어에서 장치의 모든 네트워킹 인터페이스에있는 모든 IP 주소를 바인딩하는 데 자주 사용됩니다. 이것은 기본적으로 다음을 의미합니다.

"저는 소프트웨어입니다. 실행중인 컴퓨터의 할당 된 IP 주소에 대한 모든 연결을 허용합니다."

따라서 장치가 DHCP를 사용하여 연결된 인터페이스에 대한 고유 한 IP 주소를 얻고 할당 된 주소를 얻는 경우 1.2.3.4에서 해당 장치에 연결할 수 있습니다 1.2.3.4. 그리고 해당 주소 5.6.7.8가 장치로 변경 되면를 통해 행복하게 연결할 수 있습니다 5.6.7.8.

0.0.0.0당신이 발견 뭔가를하는 것 같지만 문제의 원인이 아닙니다. 오히려, 나는 내 의견입니다, 당신이 가지고있는 문제는 당신이 진술 할 때 드러납니다 :

"저는 IPv4 IP를 로컬 IP와 동일한 범위로 설정 한 다음 진단 소프트웨어를 실행하여 문제 해결을 위해 시스템과 통신합니다."

첫째, 이상하게 보입니다. VxWorks 장치에 연결하기 위해 컴퓨터의 로컬 IP 주소를 변경해야하는 이유는 무엇입니까? 장치의 IP 주소에 직접 연결하면 안됩니까?

글쎄, 당신이 이것을 말할 때 내가 생각할 수있는 것은 장치와 진단 소프트웨어가 일종의 제로 구성 네트워킹 설정을 사용하여 작동 할 수 있다는 것입니다 . 즉, 장치가 네트워크에서 브로드 캐스트되고 진단 소프트웨어는 이러한 장치 브로드 캐스트를 찾아 정확한 IP 주소를 몰라도 장치에 연결할 수 있도록 설계되었습니다.

이런 종류의 "자체 구성"제로 구성 네트워킹은 문제가 될 때까지 편리합니다.

첫 번째 추측은 장치에 할당 된 IP 주소를 결정할 수 있으면 장치에 직접 연결할 수 있다는 것입니다. 그리고 더 많은 것을 생각하면, 과거에 연결할 수 있었던 이유는 지금은 아니지만 장치의 제로 구성 네트워킹 설정이 브로드 캐스트 하는 포트를 차단 한 네트워킹 변경과 관련이있을 수 있습니다 . 어떤 포트일까요? 불안정한. 그러나 제로 구성 트래픽이 네트워크를 통해 라우팅되지 않으면 장치에 연결할 수 없으며 0.0.0.0IP 주소와 관련이 없습니다.


6

0.0.0.0라우팅 할 수없는 주소입니다. "실제로는 존재하지 않습니다"또는 실제로 "너무 많은 곳에 존재할 수 있기 때문에"경로를 지정할 수있는 방법이 없습니다.

호스트인지 경로인지에 따라 약간 다른 의미를 가질 수 있습니다.

이 경우 적용 할 수없는 경로는 "기본 경로"를 의미하며, 추가 지시가없는 기본 게이트웨이 또는 "내 경로 중 하나"또는 127.0.0.1

귀하의 경우 가장 주목할만한 것은 호스트입니다. Wikipedia에 설명 된대로 :

호스트에 아직 주소가 할당되지 않은 경우 호스트가 자신의 주소로 주장하는 주소. DHCP를 사용할 때 초기 DHCPDISCOVER 패킷을 보낼 때와 같이.

호스트의 IP 스택이이를 지원하는 경우 DHCP를 통한 주소 요청이 실패한 경우 호스트가 자신에게 할당 한 주소입니다.

일반적으로 DHCP를 사용한다고 가정하면 완전 재설정이 아닌 시도해야 할 몇 가지- '전원을 껐다가 다시 켜십시오'또는 네트워크 연결을 끊고 잠시 기다렸다가 다시 연결하십시오. 새로운 DHCP를 요청할 수 있습니다. 주소.

물론 실제로 DHCP 서버를 볼 수 있는지 확인하십시오.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.