NetBIOS over TCP/IP

NetBIOS over TCP/IP

NetBIOS over TCP/IP(NBT 또는 NetBT)는 NetB에 의존하는 레거시 컴퓨터 애플리케이션을 허용하는 네트워킹 프로토콜입니다.최신 TCP/IP 네트워크에서 사용되는IOS API

NetBIOS는 1980년대 초에 매우 작은 네트워크(약 12대의 컴퓨터)를 대상으로 개발되었습니다.일부 애플리케이션은 아직 NetB를 사용합니다.현재 수백 대의 컴퓨터가 있는 네트워크에서는 NetB를 사용하는 경우 확장성이 떨어집니다.IOS는 NBF를 통해 실행됩니다.NBT 를 적절히 설정하면, 이러한 애플리케이션을 큰 TCP/IP 네트워크(시큐러티상의 문제가 발생할 가능성이 높지만, 인터넷 전체를 포함한다)로 변경하지 않고 실행할 수 있습니다.

NBT는 RFC 1001 및 RFC 1002 표준 문서에 정의되어 있습니다.

서비스

NetBIOS는, 다음의 3개의 다른 서비스를 제공합니다.

  • 이름 등록 및 해결을 위한 이름 서비스(포트: 137/udp 및 137/tcp)
  • 커넥션리스 통신용 데이터그램 전송 서비스(포트: 138/udp)
  • 커넥션 지향 통신을 위한 세션 서비스(포트: 139/tcp)

NBT는 그 모든 서비스를 구현합니다.

네임 서비스

NetBIOS 에서는, 각 참가자는 최대 15 문자의 일의의 이름을 사용해 네트워크에 등록할 필요가 있습니다.레거시 네트워크에서는, 새로운 애플리케이션이 이름을 등록하려고 하면, 「현재 그 이름을 사용하고 있는 사람이 있습니까」라고 하는 메세지를 브로드캐스트 해, 응답을 기다려야 했습니다.응답이 없을 경우 이 이름은 사용되지 않은 것으로 추정해도 무방합니다.다만, 대기 타임 아웃이 몇 초가 되어, 이름이 등록되어 있지 않은 것을 알 수 있는 유일한 방법은 응답을 수신하지 않는 것이었기 때문에, 이름 등록은 매우 긴 프로세스가 되었습니다.

NBT는 모든 이름 등록을 기록하는 중앙 저장소(이름 서비스)를 구현할 수 있습니다.따라서 이름을 등록하려는 응용 프로그램은 이름 서버(이미 알려진 네트워크 주소를 가지고 있음)에 연락하여 "이름 쿼리" 패킷을 사용하여 이름이 이미 등록되어 있는지 여부를 묻습니다.이름이 아직 데이터베이스에 없는 경우 네임 서버가 즉시 부정적인 응답을 반환하므로, 사용 가능하다는 의미입니다.네임 서비스는 RFC 1001 및 1002에 따라 NetB라고 불립니다.IOS Naming Service(NBNS)Microsoft WINS 는, NBNS 의 실장입니다.네임서비스가 경합 또는 합병을 처리하는 방법이 지속적으로 발전하고 있기 때문에 '그룹명'은 벤더마다 다르며 서비스 팩의 도입 등 버전에 따라 다를 수 있습니다.

네임 서비스의 패킷 형식은 DNS와 동일합니다.주요 차이점은 NetB의 추가입니다.IOS "Node Status" 쿼리, 다이내믹 등록 및 컨플릭트마킹 패킷이것들은 UDP로 캡슐화되어 있습니다.나중에 실장하면, 옵션의 스코프가 이름에 포함되어 NetB가 됩니다.DNS와 같은 계층형 IOS 이름이지만 거의 사용되지 않습니다.

또한 세션을 시작하거나 데이터그램을 브로드캐스트하지 않고 특정 호스트에 데이터그램을 전송하려면 NBT는 특정 NetB를 사용하여 호스트의 IP 주소를 결정해야 합니다.IOS 이름. 이는 "Name Query" 패킷을 브로드캐스트하거나 NetB로 전송함으로써 이루어집니다.IOS 네임서버응답에는, 그 이름의 호스트의 IP 주소가 할당됩니다.

NBNS는 최초로 적절한 동적인 피어 투 피어 분산 이름 등록 서비스 중 하나입니다.NBNS 프로토콜은 마이크로소프트에 의해 평판이 나빠졌습니다. 즉, 사람들이 기계와 네트워크를[citation needed] 잘못 구성함에 따라 여러 프로토콜(IPX/SPX, NBF 및 TCP/IP)의 동적 등록 트래픽으로 네트워크를 잠식하는 '채팅'이라는 악명이 높아졌습니다.NBNS에서 구현된 원칙은 제로콘프 모바일과 같은 시스템을 포함하여 여러 번 재실행되었습니다.아이피

데이터그램 전송 서비스

데이터그램 모드는 "connectionless"입니다.NetBIOS 데이터그램은 UDP를 통해 전송됩니다.데이터그램은 특정 NetB로 전송되는 경우 "Direct Unique" 또는 "Direct Group" 패킷과 함께 전송됩니다.IOS 이름 또는 "브로드캐스트" 패킷이 모든 NetB로 전송되는 경우네트워크상의 IOS 이름

세션 서비스

세션 모드에서는 두 대의 컴퓨터가 "컨버세이션"을 위한 연결을 확립하고 대용량 메시지를 처리할 수 있으며 오류 감지 및 복구를 제공합니다.

세션은 패킷을 교환함으로써 확립됩니다.세션을 확립하는 컴퓨터는 세션을 확립하는 컴퓨터의 포트 139에 TCP 접속을 시도합니다.연결이 확립되면 세션을 확립하는 컴퓨터는 NetB와의 접속을 통해 "세션 요청" 패킷을 전송합니다.세션 및 NetB를 확립하는 응용 프로그램의 IOS 이름세션 확립처의 IOS 이름.OS 이름세션을 확립하는 컴퓨터는 세션을 확립할 수 있음을 나타내는 "Positive Session Response" 또는 세션을 확립할 수 없음을 나타내는 "Negative Session Response"로 응답합니다(그 컴퓨터가 해당 이름으로 확립된 세션을 수신하지 않거나 리소스가 없기 때문에).해당 이름으로 세션을 확립할 수 있습니다).

데이터는 확립된 세션 중에 세션메시지 패킷에 의해 전송됩니다.

TCP 는, 모든 세션서비스 패킷의 플로우 제어와 재발송신, 및 패킷이 링크층 패킷에 들어갈 정도로 작은 IP 데이터그램에 송신되는 데이터 스트림의 분할을 처리합니다.

TCP 접속을 닫으면 세션이 닫힙니다.

보안 취약성

NBT는 조직의 관리 하에 있는 LAN에 적합한 정보와 인터페이스를 공개하지만 인터넷 등 신뢰도가 낮은 네트워크에는 적합하지 않습니다.예를 들어 NetB는IOS Name Service(NBNS; IOS 네임서비스)는 UDP 또는 TCP 포트 137을 통해 실행되며 모든 컴퓨터에서 호스트 이름을 다른 컴퓨터에 등록할 수 있습니다.공격자는 임의의 호스트에 접속하여 호스트가 정기적으로 접속하는 특정 서비스(예: 파일서버)라고 주장할 수 있습니다.이로 인해 리스닝호스트에 대한 중간자 공격이 발생하여 리스닝호스트가 NBT 경유 네트워크 서비스에 액세스하기 위해 사용하는 credential이 손상될 수 있습니다.NBNSpoof 등의 도구를 사용하여 [1][2]이 공격을 수행할 수 있습니다.

NBT가 인터넷에 노출되면 실질적으로 NBT 포트에서 응답하는 호스트가 Windows를 실행하고 있음을 알 수 있습니다.이것은, 1개의 operating system에 고유의 악질적인 액티비티를 타겟으로 하는 경우에 사용할 수 있습니다.

포스트 NT 클라이언트 서버 네트워크에서의 관련성 감소

MS 이후의 Windows 2000/NT에 관해서는 클라이언트 서버 기반 네트워크, NetBIOS는 사실상 레거시 프로토콜이 되고 있습니다.NetBIOS는 라우팅 불가능한 LAN용으로도 개발되었습니다.Windows 2000 이후를 가동하는 2000년 이후의 네트워크에서는, NetB 가 대부분을 차지하고 있습니다.IOS는 DNS와의 호환성보다 우선하는 네트워크 디바이스의 하위 호환성을 효과적으로 제공합니다.NetB의 중심적인 역할클라이언트 서버 네트워크의 IOS(및 DNS 호환성보다 앞선 네트워크 주변기기 하드웨어를 갖춘 네트워크도 포함)는 컴퓨터 및 네트워크 주변기기에 이름 해결을 제공합니다.또, 이러한 네트워크 하드웨어에 액세스 해 공유할 수 있도록 하고, 네트워크 폴더, 공유, 공유 프린터, 팩스등의 매핑이나 브라우즈도 가능하게 한다.기본 용량에서 TCP/IP를 통해 전송되는 세션 계층 프로토콜로 작동하여 컴퓨터와 공유 폴더에 이름 확인을 제공합니다.그 때문에, Windows 2000 베이스의 클라이언트 서버 네트워크(및 그 이후)에서는, 네트워크 [3]공유의 이름 해결, 행선지 지정, 또는 네비게이트등의 안전하지 않은 수단이 필요 없습니다.

NetB의 트러블 슈팅IOS

nbtstat

nbtstat
개발자마이크로소프트
운영 체제Microsoft Windows
유형명령어
면허증.독자 사양 상용 소프트웨어
웹 사이트nbtstat

nbtstat 명령어는 NetB용 진단 도구입니다.IOS over TCP/IP주된 설계는 NetB의 트러블 슈팅을 지원하는 것입니다.IOS 이름 해결 [4]문제이 명령어는 여러 버전의 Microsoft Windows에 포함되어 있습니다.에는 몇 가지 명령어가 관련되어 있습니다.nbtstat로컬 캐시 검색, WINS 서버 쿼리, 브로드캐스트, LMHOSTS 검색, 호스트 검색 등의 여러 옵션을 사용할 수 있습니다.DNS 서버 [5]쿼리가 아닙니다.

네트워크가 정상적으로 기능하고 있는 경우, NetB는IOS over TCP/IP(NetBT)로 NetB 해결IOS 이름에서 IP 주소로이것은, NetB 의 몇개의 옵션을 통해서 행해집니다.로컬 캐시 검색, WINS 서버 쿼리, 브로드캐스트, LMHOSTS 검색, 호스트 검색 및 DNS 서버 쿼리를 포함한 IOS 이름 해결.이 명령어는 대소문자를 구분하는 다수의 스위치를 사용하여 프리로드된 엔트리를 삭제하고 수정합니다.nbtstat -a < name >명령어는 NetB를 실행합니다.에 의해 지정된 컴퓨터 이름에서의 IOS 어댑터 상태 명령어< name >adapter status 명령어는 로컬 NetB를 반환합니다.그 컴퓨터의 IOS 네임테이블 및 어댑터 카드의 MAC 주소nbtstat -A < IP address >명령어는 이름이 아닌 타깃 IP 주소를 사용하여 동일한 기능을 수행합니다.

구문

nbtstat [ - a RemoteName ][ - A IPAddress ][ - c ][ - n ][ - r ][ - RR ] [ - s ][ - S ] [ Interval ]

일반적인 파라미터는 다음과 같습니다.[5]

  • nbtstat - c:NetB 의 내용을 표시합니다.IOS 네임캐시, NetB 테이블IOS 이름과 해결된 IP 주소.
  • nbtstat -n: 시스템에 로컬로 등록된 이름을 표시합니다.
  • nbtstat - r: 모든 NetB 의 카운트를 표시합니다.WINS 서버의 브로드캐스트 및 쿼리에 의해 해결되는 IOS 이름.
  • nbtstat -R: 리모트캐시 이름 테이블을 삭제하고 새로고침합니다.
  • nbtstat -RR: 이름 릴리스 패킷을 WIN으로 전송한 후 새로 고침을 시작합니다.
  • nbtstat - s: 현재 NetB를 나열합니다.IOS 세션과 그 상태(통계정보 포함)
  • nbtstat -S: 는, 행선지 IP 주소를 가지는 세션테이블을 일람표시합니다.

「 」를 참조해 주세요.

레퍼런스

  1. ^ mubix (2012-09-01). "Old School On-target NBNS Spoofing". malicious.link. Retrieved 2022-02-02.
  2. ^ Lladro, David (2021-07-02), NBNSpoof - NetBIOS Name Service Spoofer, retrieved 2022-02-02
  3. ^ "NetBIOS over TCP/IP". Microsoft Docs. July 18, 2012.
  4. ^ "Nbtstat". Microsoft Docs. July 18, 2012.
  5. ^ a b "nbtstat". Windows XP Professional Product Documentation. Archived from the original on 2016-07-21. Retrieved 2016-04-13.

외부 링크

  • KB204279 - SMB의 최신 다이렉트호스팅에 대한 KB 기사
  • nbtscan - IP 네트워크에서 NetB를 스캔하는 오픈 소스 프로그램IOS 이름 정보