SMB

SMB2

SMB3

CIFS

SMB Implementation For Embedded Devices

NQE™

NQE™는 비 Windows 시스템 임베디드 시스템에 Windows 기반 시스템과의 상호 운용성을 갖게 할 수 있는 SMB 서버 클라이언트 솔루션입니다.

여기 에서 NQE™ 백서 (영어 버전)을 다운로드 할 수 있습니다.

유연한 설계로 NQE™는 OS CPU, 컴파일러를 불문하고 어떤 환경에서도 구현 가능. 또한 Microsoft의 SMB1 · SMB2 · SMB3 사양과 완벽하게 호환을 가지고 최신 SMB 버전에 대응하고 있습니다. Windows 네트워크에 연결되면 NQE™ 탑재 장치는 네트워크를 통해 시각화 된 사용자는 파일 공유 기능을 사용할 수 있게 됩니다.

임베디드 SMB 솔루션으로 세계를 리드하는 당사의 GPL 무료 SMB 스택은 오픈 소스 Samba와는 대조적으로, 풋 프린트, 또한 현재의 시장 환경과 요구에 맞게 항상 업데이트되고 있습니다. NQE™ 스캐너, 프린터, 가정용 라우터, 모바일 장치, 의료 기기, FA 기기, 자동차 기기, 항공 우주 방위 장비와 같은 Microsoft의 Windows 네트워크 환경에서 완벽한 파일 공유 기능을 필요로 하는 모든 임베디드 장치에 탑재되어 있습니다.

NQE™는 또한 Windows XP, Windows Server 2000 및 Windows Server 2003 등 이전의 오래된 Windows 시스템이 사용하는 SMB1를 최신 SMB 버전으로 바꿔 놓는 데에도 사용할 수 있습니다. SMB1을 제거하고 암호화를 지원하는 NQE™을 설치하여 사이버 공격의 불필요한 위험을 방지하고 Windows 연결 제한도 극복 할 수 있습니다.

NQE™ 아키텍처 레이어

파란색 구성 요소는 시스템 독립적이지만, 베이지의 구성 요소는 이식 · 구현 시 변경이 가능합니다.

NQE Core

NQ 구성 요소

NQE™는 SMB 서버 SMB 클라이언트 또는 NetBIOS 데몬으로 표시되어 있습니다.

NQ Components

NQE™는 Microsoft SMB1 · SMB2 · SMB3 사양과 호환되며 여러 임베디드 장치 간 파일 공유를 가능하게 합니다. 상호 SMB 공유 된 폴더를 원격에서 검색, 읽기, 쓰기, 편집, 복사, 삭제하고 서로의 파일을 업데이트 할 수 있습니다. 이러한 작업 시 파일을 장치의 로컬 디스크 나 메모리에 갈 필요가 없습니다.

NQE™는 1999 년에 CIFS NQ™로 출시 된 이후 SMB 프로토콜의 발전과 함께 진화하고 2014 년에 NQE™로 개명되었습니다.

최신 버전의 NQE™ 2.00은 SMB3.1.1에 대응, 바로 구현 가능합니다. Pre Logon Integrity 등 최신 SMB 사양 강화를 통해 보다 정교한 데이터 보호를 제공합니다.

전체 상용 GPL 무료 NQE™ 네트워크 스택이 있으면, 고객은 귀중한 R & D에 시간과 돈을 절약하고 핵심 기술에 초점을 맞출 수 있습니다.

 

NQE™ 채용 사례

  • 스캐너, MFP (프린터 복합기)
  • NAS, 기타 프린터 주변기기 (라우터)
  • TV, 셋톱 박스
  • 카메라
  • 스마트 폰, 태블릿
  • 산업용 로봇
  • 항공기
  • 의료 기기

NQE™ 시장

  • 소비자 용 기기
  • 법인 용 장비
  • 의료 장비
  • 산업 자동화 제품 (FA 제품)
  • 항공 우주 및 방위 장비
  • 스마트 장치

NQE™ 지원 OS

  • VxWorks
  • Linux
  • Integrity
  • Windows
  • ThreadX
  • Itron
  • iOS
  • Android
  • Nucleus
  • 기타 OS 협의

NQE™의 특징

  • • 플랫폼을 가리지 않는 높은 이식성
  • 하드웨어 독립적 어떤 프로세서에서도 동작 가능
  • 작은 풋 프린트
  • 고성능
  • 사용자가 쉽게
  • 시장에서 가장 완성도 높은 CIFS / SMB 구현
  • ANSI 표준 C 언어 소스 코드

NQE™ Code examples

Mount


// Mount remote share using credentials
udSetCredentials("userName", "password", "domain");
nqAddMountA("\\mountPoint", "\\\\192.168.19.1\\sharedFolder", 1);
 

Open, read, write and delete file


// Mount remote share using credentials
udSetCredentials("userName", "password", "domain");
nqAddMountA("\\mountPoint", "\\\\192.168.19.1\\sharedFolder", 1);    
// Create a file on a remote share
NQ_HANDLE fileHandle = ccCreateFileA("\\mountPoint\\file.txt",
                                FILE_AM_WRITE,
                                FILE_SM_EXCLUSIVE,
                                FILE_LCL_UNKNOWN,
                                FALSE,
                                0,
                                FILE_CA_CREATE,
                                FILE_OA_FAIL
                                );
NQ_BYTE data[DATA_SIZE];
NQ_UINT dataSize = DATA_SIZE;
NQ_UINT writtenSize, readSize;
// Write to remote file 
ccWriteFile(fileHandle, data, dataSize, &writtenSize);
// Read from a remote file 
ccReadFile(fileHandle, data, dataSize, &readSize);
// Close file handle 
ccCloseHandle(fileHandle);
// Delete a file on a remote share
ccDeleteFileA("\\mountPoint\\file.txt");
 

Delete file by name


// Mount remote share using credentials
udSetCredentials("userName", "password", "domain");
nqAddMountA("\\mountPoint", "\\\\192.168.19.1\\sharedFolder", 1);
// Delete a file on a remote share
ccDeleteFileA("\\mountPoint\\file.txt");
 

Browsing directory


// Mount remote share using credentials
udSetCredentials("userName", "password", "domain");
nqAddMountA("\\mountPoint", "\\\\192.168.19.1\\sharedFolder", 1);    
// Open a directory on remote share
FindFileDataA_t fileData;
NQ_HANDLE dirHandle = ccFindFirstFileA("\\\\192.168. 19.1\\sharedFolder\\*", &fileData, 0);
if (dirHandle != NULL)
{
    // Get next file in the directory
    while (ccFindNextFileA(dirHandle, &fileData))
    {
        printf("Filename: %s, fileSize:%u \n", fileData.fileName, fileData.allocationSizeLow);
    }
    // Close directory handle
    ccFindClose(dirHandle);
}
 

Visuality Systems developed a Java based product. JCIFS is a Java SMB solution that support SMB1 with no further support in SMB2 or SMB3 protocols. JCIFS latest update was in 2014 and therefore the Visuality Systems SMB code written in Java is a good alternative for the open source JCIFS.

Follow Us

News

 

   August 12, 2018

Windows XP and Server 2003 users can now seamlessly upgrade from the now-defunct SMB1 stack to the encrypted up to date SMB3 protocol with the latest NQE Server. 

 

  July 31, 2018

Visuality Systems has released jNQ™ 1.0.1 adding security features and performance improvements to the SMB3.1.1 NQ Java library.

 

 January 29, 2018

Visuality Systems will be a sponsor at the SDC EMEA conference to be held in the Dan hotel, Tel-Aviv, Israel on February 27.

See Link

 

 November 01, 2017

Visuality Systems has released jNQ™ 1.00, features the latest SMB 3.1.1 support in Pure JAVA

 

May 15, 2017

The WannaCry Ransomware cyber-attack succeeded due to exploit the vulnerability of non-encrypted SMB versions – SMB1/SMB2. Moving to SMB3.1.1 has become a MUST.

See Link

 

March 27, 2017

The VxWorks version of NQE 2.00 is now released.

 

December 04, 2016

Visuality Systems has released NQE™ 2.00, features the latest SMB 3.1.1 support.