Generate Code: All packets

File Transfer Protocol Version 1's file transfer protocol (often abbreviated BNFTP or BNFTPv1) is fairly simple. The protocol itself has no headers, and consists of 2 packets - the request, and the response.

The request is sent to after connecting and requesting protocol BNFTP (0x02):

(WORD) Request length
(WORD) Protocol Version
(DWORD) Platform ID
(DWORD) Product ID
(DWORD) Banner ID*
(DWORD) Banner File Extension*
(DWORD) Start position in file (for resuming)
(FILETIME) Filetime of local file
(STRING) Filename should respond with the following BNFTP message, which is likely to be split across several TCP packets:

(WORD) Header length - Does not include the length of the file.
(WORD) Unknown (probably padding)
(DWORD) Filesize
(DWORD) Banners ID*
(DWORD) Banners File Extension*
(FILETIME) Remote Filetime
(STRING) Filename
(VOID) File data

After receiving the complete file data (determined by the filesize), the client terminates the connection.

The starred fields (*) are only required when downloading an ad banner. In other cases, they should be set to 0.
Version 1 of BNFTP actually has a version of 0x100 (256).

User Comments

For detailed questions and discussion, visit the Research Forum

Jul 08, 2010
03:03 AM

Why would the unknown be padding and not part of the header length making it a DWORD? It makes no sense for it to be padding if this is a header.

Oct 02, 2011
07:26 PM

Why would the protocol version be 0x100 (256)? They probably are using big endian instead of little endian, and the version is probably 0x01 (1).

BNLS Server Status

= Online       = Offline Server Status v1 v2




= Online       = Offline


Site scripts and design copyrights reserved to Don Cullen.
Contents copyrighted to Blizzard and their parent corporation, Vivendi.
Main credits for contents goes to Arta. View the rest of credits.
Demented Minds copyrights reserved to Don Cullen 2003-present.
Copyright infringements will be prosecuted to the fullest extent allowable by law.
Please view our legal disclaimer and terms of service.