| Understanding the NNTP Protocol |
|
|
|
| Written by David Noel-Davies | |||||||
| Tuesday, 04 September 2007 | |||||||
|
Everyone knows about peer-to-peer programs such as Napster, Kazaa, amongst others. How many people though know about binary newsgroups? I would wager not many. These binary newsgroups are based on the NNTP protocol, and this protocol will be the focus of this article. Read on to learn more about NNTP! NNTP or Network News Transfer Protocol as it is also known, is not a widely known protocol. Typically this is a service that is offered by your ISP and also is one that has spawned its own industry. Company’s such as Supernews and Easynews have grown out of the popularity that are the alt.binaries.* groups. If you are lucky though your ISP offers you good NNTP servers to use. What are binary newsgroups though? Well simply put, they are just as their name indicates ie: binary newsgroups. By binary I mean that you could download pictures, programs, movies, music and so on ie: a binary transfer. There is pretty everything you would ever hope to find in the binary newsgroups. A fair amount of the stuff there is copyrighted material, which should not be downloaded either. Largely due to the wide variety of material made available via the binary groups is why they are so popular with people. What actually makes up the protocol that is used to access these groups and in turn download from them? Well that is what we are going to find out in this article! On with the showWell NNTP like almost every protocol follows the client/server model and is also an application layer protocol, as defined by the OSI Reference Model. The protocol uses TCP as its transport protocol and of course the IP protocol for routing purposes. NNTP also allows for both the sending and receipt of information. In other words it will allow you to post messages to newsgroups, as well as download from them, whether that download be an ASCII one or binary in nature. Port 119 is the port associated with NNTP servers, which are also commonly known as USENET newsgroups. Similar in nature as mentioned earlier to other application layer protocols, NNTP also has a series of status codes, much like HTTP. These status codes are used to convey various conditions back to the NNTP client. The various status codes are grouped as seen below;
These messages are quite often seen when you are downloading or uploading material. They will be displayed in your NNTP client. One of the most popular clients is Grabit, but there is also NewsBin Pro. NNTP is also a little similar to HTTP in that it has some commands which are similar to the GET, POST, and HEAD of HTTP for example. The NEXT command in NNTP signifies move on to the “next” article in the newsgroup. That command is pretty much straightforward. There is also the POST command, which much it implies, is for posting to a newsgroup. That post could be a request for a specific TV show episode that you missed of your favourite show and lucky for you there is a newsgroup for it. In that case you would post a message requesting somebody upload that tv show episode, which someone hopefully recorded. A complete list of commands and their function can be found here. You should never be afraid to read the specific RFC for a protocol. They are usually quite well written and easy to understand. Besides you really need to read them, as they are the definitive source of information when it comes to protocols. What does a NNTP packet look like?Well much like any IP based protocol NNTP has a familiar look to it. There is the IP header, followed by the TCP header, which in turn is followed by the application layer data. In this case that would be the NNTP data. We will look at two example packets below. Please note that I will comment on the packet directly beneath it.
The packet above us right now was generated when I invoked my NNTP client, which is the aforementioned Grabit in my case. First thing that happens is that my computer asks my ISP to resolve to an IP address whare the NNTP news server is that we see in the underlined ASCII. Once my running process of Grabit receives the “A” ie: DNS answer record it connects to the NNTP server.
After the TCP/IP handshake is complete with the NNTP server, my client issues the READER command. In this case that means that it wants to download the header files. You will note that the underlined portion is where the UDP header is, and that the bolded part is where the NNTP data begins and goes on to the end of the packet.
In the above packet we see that my client has requested that a specific news group be updated. The NNTP server will in turn download to my client an updated list of files that are in that specific binary newsgroup. Once that is complete you are free to pick and choose exactly what files you would like to download. It bears noting that the alt.binary newsgroups are by and large much like the wild west of yesteryear. Within the digital confines of these groups are some unsavory characters, posting content that is very much illegal. If you are a parent you would be well advised to keep a close eye on your children’s voyages into these groups. The NNTP protocol is a means by which one can access almost every kind of media, from movies to pictures, to full fledged programs. Realize as well that downloading a warez copy of a copyrighted product is theft. On that note I hope that this introduction to the NNTP protocol was of interest to you and as always I welcome your feedback. Till next time!
Powered by !JoomlaComment 3.26
3.26 Copyright (C) 2008 Compojoom.com / Copyright (C) 2007 Alain Georgette / Copyright (C) 2006 Frantisek Hliva. All rights reserved." |
|||||||
| < Prev | Next > |
|---|









