주요 콘텐츠로 건너뛰기

최근에 연결 문제를 해결하는 동안이 질문이 발생했습니다. OpenVOS 시스템은 공용 인터넷을 향하는 서버에 연결되었습니다. 서버 관리자는 "IP 주소란 무엇입니까?" 라는 간단한 질문을 던졌습니다. OpenVOS 시스템에는 RFC 1918에 의해 정의된 개인 인터넷 범위 중 하나에서 IP 주소가 있으며, 192.168.0.1이라고 부릅니다. 이 개인 주소는 NAT 장치에서 개인 인터넷을 떠나 인터넷으로 이동하면서 공용 주소로 변환됩니다. 관리자는 공개 주소를 알아야 했습니다. OpenVOS 시스템 관리자는 아무 생각이 없었고 우리에게 말할 수있는 네트워크 관리자를 찾기 위한 스크램블이 있었습니다.

당신이 당신의 IP 주소가 무엇인지 알려줄 것이다 연결 할 수있는 인터넷 웹 사이트의 수가 있지만 그들은 모두 HTTP를 사용하고 OpenVOS는 해당 사이트에 연결하는 데 사용할 수있는 웹 브라우저가 없습니다.

내가 다시 같은 상황에 배치되지 않았는지 확인하기 위해 나는 stcp_calls 사용하여 다음과 같은 명령 매크로를 썼다. 웹 사이트에 연결하고 사이트의 루트 웹 페이지의 텍스트를 표시하는 데 사용할 수 있습니다. 디스플레이는 반환 된 데이터의 육각 -ascii 덤프, 그것은 예쁘지 않지만 읽을 수 있습니다. 몇 가지 다른 제한 사항도 있습니다. 첫째, 모든 사이트가 작동하지 않습니다. 많은 사이트는 브라우저가 실제로 IP 주소를 얻기 위해 루트 페이지의 링크를 따라야, 브라우저가 자동 마술하지만 내 스크립트는하지 않습니다 뭔가. 그래도 스크립트와 함께 작동하는 몇 가지 사이트를 찾았고 스크립트의 주석을 확인했습니다. 시작 된 프로세스에서 매크로를 실행하는 것이 좋습니다.

두 번째 제한사항은 NAT 장치가 IP 주소를 변환하는 방식 때문입니다. 일부 장치는 동일한 소스 주소를 갖도록 모든 나가는 트래픽을 변경하고, 다른 장치에는 내부 알고리즘에 따라 특정 주소를 선택하면서 소스 IP 주소에 사용하는 IP 주소 집합이 있습니다. 내가 제안 할 수있는 모든 매크로를 여러 번 실행하고 당신이 무엇을 얻을 볼 수 있습니다. 모든 주소는 동일한 하위 네트워크에 있어야 하지만 해당 하위 네트워크가 무엇인지 예측할 수 없습니다.

& find_my_ip_address 여기에서 시작됩니다.
&
및 버전 1.00 10-12-06
및 버전 1.01 10-12-08목록에 다른 사이트를 추가했습니다.
 [email protected]
&
그리고 이 스크립트는 웹 사이트에 연결하고 루트 페이지를 검색합니다. 많은 사이트
IP 주소를 표시하는 경우 브라우저가
IP 주소를 표시하는 루트 페이지입니다. 이러한 사이트는 이사이트와 함께 작동하지 않습니다.
및 스크립트. 나는 다음 사이트를 테스트하고 그들은 현재 작동 (하지만
그리고 나는 미래에 대한 약속을하지 않습니다).
&
출력은 육각 덤프/ascii 형식으로 표시됩니다. 읽기 쉽지 않지만
IP 주소를 찾아볼 수 있어야 합니다. 나는 당신이 실행하는 것이 좋습니다
시작 된 프로세스로 스크립트를 한 다음 출력을 검색합니다.
&
및 서버 노트
&       ------               -----
findmyip.com "is:" 검색
마지막 버퍼에서 null 이 아닌 바이트의 마지막 집합및 whatismyipaddress.com
www.ip-adress.com "is:"와 예에 대한 검색, 그것은 adress에 하나의 D입니다
마지막 버퍼에서 null 이 아닌 바이트의 마지막 집합및 checkip.dyndns.org
&       
이 소프트웨어는 보증 또는 보증 없이 "AS IS"기준으로 제공됩니다.
모든 종류의 지원. 저자는 암시적 보증을 구체적으로 부인합니다.
특정 목적을 위해 가맹점 또는 적합성.  이 면책 조항
및 적용, 어떤 종류의 구두 표현에도 불구하고 제공
저자 또는 다른 사람.
&
& begin_parameters
서버 서버:문자열,req
& end_parameters
&
& if (process_type) = '배치'&할
에코 no_input_lines no_command_lines no_macro_lines
& 엔드
&
& attach_input
stcp_calls
소켓
buf_edit
0 47 45 54 20 2F 20 48 54 54 50 2F 31 2E 30 0a 0a

연결 -이름 및 서버 및 포트 80
보내기 -len 16
& 라벨 다시
.. start_logging(process_dir)>recv
recv-len 1000
.. stop_logging
및 set_string LINE(내용(process_dir)>recv 1)
.. display_line & 라인
&if (인덱스(내용(process_dir)>recv 1) '0 바이트') > 0 & 고토 종료
&if (인덱스(내용(process_dir)>recv 1) '바이트') = 0 & 고토 종료
buf_dump
고토 다시
& 라벨 종료
종료
&
& find_my_ip_address 여기서 끝납니다.

 

© 2024 스트라투스 테크놀로지스.