Setting Up A Ftp:


Well, since many of us have always wondered this, here it is. Long and drawn out. Also, before attempting this, realize one thing; You will have to give up your time, effort, bandwidth, and security to have a quality ftp server.
That being said, here it goes. First of all, find out if your IP (Internet Protocol) is static (not changing) or dynamic (changes everytime you log on). To do this, first consider the fact if you have a dial up modem. If you do, chances are about 999 999 out of 1 000 000 that your IP is dynamic. To make it static, just go to a place like h*tp://www.myftp.org/ to register for a static ip address.

You'll then need to get your IP. This can be done by doing this:
Going to Start -> Run -> winipcfg or www.ask.com and asking 'What is my IP?'

After doing so, you'll need to download an FTP server client. Personally, I'd recommend G6 FTP Server, Serv-U FTPor Bullitproof v2.15 all three of which are extremely reliable, and the norm of the ftp world.
You can download them on this site: h*tp://www.liaokai.com/softw_en/d_index.htm

First, you'll have to set up your ftp. For this guide, I will use step-by-step instructions for G6. First, you'll have to go into 'Setup -> General'. From here, type in your port # (default is 21). I recommend something unique, or something a bit larger (ex: 3069). If you want to, check the number of max users (this sets the amount of simultaneous maximum users on your server at once performing actions - The more on at once, the slower the connection and vice versa).

The below options are then chooseable:
-Launch with windows
-Activate FTP Server on Start-up
-Put into tray on startup
-Allow multiple instances
-Show "Loading..." status at startup
-Scan drive(s) at startup
-Confirm exit

You can do what you want with these, as they are pretty self explanatory. The scan drive feature is nice, as is the 2nd and the last option. From here, click the 'options' text on the left column.

To protect your server, you should check 'login check' and 'password check', 'Show relative path (a must!)', and any other options you feel you'll need. After doing so, click the 'advanced' text in the left column. You should then leave the buffer size on the default (unless of course you know what you're doing ), and then allow the type of ftp you want.

Uploading and downloading is usually good, but it's up to you if you want to allow uploads and/or downloads. For the server priority, that will determine how much conventional memory will be used and how much 'effort' will go into making your server run smoothly.

Anti-hammering is also good, as it prevents people from slowing down your speed. From here, click 'Log Options' from the left column. If you would like to see and record every single command and clutter up your screen, leave the defaults.

But, if you would like to see what is going on with the lowest possible space taken, click 'Screen' in the top column. You should then check off 'Log successful logins', and all of the options in the client directry, except 'Log directory changes'. After doing so, click 'Ok' in the bottom left corner.

You will then have to go into 'Setup -> User Accounts' (or ctrl & u). From here, you should click on the right most column, and right click. Choose 'Add', and choose the username(s) you would like people to have access to.

After giving a name (ex: themoonlanding), you will have to give them a set password in the bottom column (ex: wasfaked). For the 'Home IP' directory, (if you registered with a static server, check 'All IP Homes'. If your IP is static by default, choose your IP from the list. You will then have to right click in the very center column, and choose 'Add'.

From here, you will have to set the directory you want the people to have access to. After choosing the directory, I suggest you choose the options 'Read', 'List', and 'Subdirs', unless of course you know what you're doing . After doing so, make an 'upload' folder in the directory, and choose to 'add' this folder seperately to the center column. Choose 'write', 'append', 'make', 'list', and 'subdirs'. This will allow them to upload only to specific folders (your upload folder).

Now click on 'Miscellaneous' from the left column. Choose 'enable account', your time-out (how long it takes for people to remain idle before you automatically kick them off), the maximum number of users for this name, the maximum number of connections allowed simultaneously for one ip address, show relative path (a must!), and any other things at the bottom you'd like to have. Now click 'Ok'.
**Requested**


From this main menu, click the little boxing glove icon in the top corner, and right click and unchoose the hit-o-meter for both uploads and downloads (with this you can monitor IP activity). Now click the lightning bolt, and your server is now up and running.

Post your ftp info, like this:

213.10.93.141 (or something else, such as: 'f*p://example.getmyip.com')

User: *** (The username of the client)

Pass: *** (The password)

Port: *** (The port number you chose)

So make a FTP and join the FTP section


Listing The Contents Of A Ftp:

Listing the content of a FTP is very simple.
You will need FTP Content Maker, which can be downloaded from here:
ht*p://www.etplanet.com/download/application/FTP%20Content%20Maker%201.02.zip

1. Put in the IP of the server. Do not put "ftp://" or a "/" because it will not work if you do so.
2. Put in the port. If the port is the default number, 21, you do not have to enter it.
3. Put in the username and password in the appropriate fields. If the login is anonymous, you do not have to enter it.
4. If you want to list a specific directory of the FTP, place it in the directory field. Otherwise, do not enter anything in the directory field.
5. Click "Take the List!"
6. After the list has been taken, click the UBB output tab, and copy and paste to wherever you want it.


If FTP Content Maker is not working, it is probably because the server does not utilize Serv-U Software.

If you get this error message:
StatusCode = 550
LastResponse was : 'Unable to open local file test-ftp'
Error = 550 (Unable to open local file test-ftp)
Error = Unable to open local file test-ftp = 550
Close and restart FTP Content Maker, then try again.




error messages:

110 Restart marker reply. In this case, the text is exact and not left to the particular implementation; it must read: MARK yyyy = mmmm Where yyyy is User-process data stream marker, and mmmm server's equivalent marker (note the spaces between markers and "=").
120 Service ready in nnn minutes.
125 Data connection already open; transfer starting.
150 File status okay; about to open data connection.
200 Command okay.
202 Command not implemented, superfluous at this site.
211 System status, or system help reply.
212 Directory status.
213 File status.
214 Help message. On how to use the server or the meaning of a particular non-standard command. This reply is useful only to the human user.
215 NAME system type. Where NAME is an official system name from the list in the Assigned Numbers document.
220 Service ready for new user.
221 Service closing control connection. Logged out if appropriate.
225 Data connection open; no transfer in progress.
226 Closing data connection. Requested file action successful (for example, file transfer or file abort).
227 Entering Passive Mode (h1,h2,h3,h4,p1,p2).
230 User logged in, proceed.
250 Requested file action okay, completed.
257 "PATHNAME" created.
331 User name okay, need password.
332 Need account for login.
350 Requested file action pending further information.
421 Too many users logged to the same account
425 Can't open data connection.
426 Connection closed; transfer aborted.
450 Requested file action not taken. File unavailable (e.g., file busy).
451 Requested action aborted: local error in processing.
452 Requested action not taken. Insufficient storage space in system.
500 Syntax error, command unrecognized. This may include errors such as command line too long.
501 Syntax error in parameters or arguments.
502 Command not implemented.
503 Bad sequence of commands.
504 Command not implemented for that parameter.
530 Not logged in.
532 Need account for storing files.
550 Requested action not taken. File unavailable (e.g., file not found, no access).
551 Requested action aborted: page type unknown.
552 Requested file action aborted. Exceeded storage allocation (for current directory or dataset).
553 Requested action not taken. File name not allowed.


Active FTP vs. Passive FTP, a Definitive Explanation

Introduction
One of the most commonly seen questions when dealing with firewalls and other Internet connectivity issues is the difference between active and passive FTP and how best to support either or both of them. Hopefully the following text will help to clear up some of the confusion over how to support FTP in a firewalled environment.

This may not be the definitive explanation, as the title claims, however, I've heard enough good feedback and seen this document linked in enough places to know that quite a few people have found it to be useful. I am always looking for ways to improve things though, and if you find something that is not quite clear or needs more explanation, please let me know! Recent additions to this document include the examples of both active and passive command line FTP sessions. These session examples should help make things a bit clearer. They also provide a nice picture into what goes on behind the scenes during an FTP session. Now, on to the information...



The Basics
FTP is a TCP based service exclusively. There is no UDP component to FTP. FTP is an unusual service in that it utilizes two ports, a 'data' port and a 'command' port (also known as the control port). Traditionally these are port 21 for the command port and port 20 for the data port. The confusion begins however, when we find that depending on the mode, the data port is not always on port 20.



Active FTP
In active mode FTP the client connects from a random unprivileged port (N > 1024) to the FTP server's command port, port 21. Then, the client starts listening to port N+1 and sends the FTP command PORT N+1 to the FTP server. The server will then connect back to the client's specified data port from its local data port, which is port 20.

From the server-side firewall's standpoint, to support active mode FTP the following communication channels need to be opened:

FTP server's port 21 from anywhere (Client initiates connection)
FTP server's port 21 to ports > 1024 (Server responds to client's control port)
FTP server's port 20 to ports > 1024 (Server initiates data connection to client's data port)
FTP server's port 20 from ports > 1024 (Client sends ACKs to server's data port)


In step 1, the client's command port contacts the server's command port and sends the command PORT 1027. The server then sends an ACK back to the client's command port in step 2. In step 3 the server initiates a connection on its local data port to the data port the client specified earlier. Finally, the client sends an ACK back as shown in step 4.

The main problem with active mode FTP actually falls on the client side. The FTP client doesn't make the actual connection to the data port of the server--it simply tells the server what port it is listening on and the server connects back to the specified port on the client. From the client side firewall this appears to be an outside system initiating a connection to an internal client--something that is usually blocked.



Active FTP Example
Below is an actual example of an active FTP session. The only things that have been changed are the server names, IP addresses, and user names. In this example an FTP session is initiated from testbox1.slacksite.com (192.168.150.80), a linux box running the standard FTP command line client, to testbox2.slacksite.com (192.168.150.90), a linux box running ProFTPd 1.2.2RC2. The debugging (-d) flag is used with the FTP client to show what is going on behind the scenes. Everything in red is the debugging output which shows the actual FTP commands being sent to the server and the responses generated from those commands. Normal server output is shown in black, and user input is in bold.

There are a few interesting things to consider about this dialog. Notice that when the PORT command is issued, it specifies a port on the client (192.168.150.80) system, rather than the server. We will see the opposite behavior when we use passive FTP. While we are on the subject, a quick note about the format of the PORT command. As you can see in the example below it is formatted as a series of six numbers separated by commas. The first four octets are the IP address while the second two octets comprise the port that will be used for the data connection. To find the actual port multiply the fifth octet by 256 and then add the sixth octet to the total. Thus in the example below the port number is ( (14*256) + 178), or 3762. A quick check with netstat should confirm this information.

testbox1: {/home/p-t/slacker/public_html} % ftp -d testbox2
Connected to testbox2.slacksite.com.
220 testbox2.slacksite.com FTP server ready.
Name (testbox2:slacker): slacker
---> USER slacker
331 Password required for slacker.
Password: TmpPass
---> PASS XXXX
230 User slacker logged in.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> ls
ftp: setsockopt (ignored): Permission denied
---> PORT 192,168,150,80,14,178
200 PORT command successful.
---> LIST
150 Opening ASCII mode data connection for file list.
drwx------ 3 slacker users 104 Jul 27 01:45 public_html
226 Transfer complete.
ftp> quit
---> QUIT
221 Goodbye.


Passive FTP
In order to resolve the issue of the server initiating the connection to the client a different method for FTP connections was developed. This was known as passive mode, or PASV, after the command used by the client to tell the server it is in passive mode.

In passive mode FTP the client initiates both connections to the server, solving the problem of firewalls filtering the incoming data port connection to the client from the server. When opening an FTP connection, the client opens two random unprivileged ports locally (N > 1024 and N+1). The first port contacts the server on port 21, but instead of then issuing a PORT command and allowing the server to connect back to its data port, the client will issue the PASV command. The result of this is that the server then opens a random unprivileged port (P > 1024) and sends the PORT P command back to the client. The client then initiates the connection from port N+1 to port P on the server to transfer data.

From the server-side firewall's standpoint, to support passive mode FTP the following communication channels need to be opened:

FTP server's port 21 from anywhere (Client initiates connection)
FTP server's port 21 to ports > 1024 (Server responds to client's control port)
FTP server's ports > 1024 from anywhere (Client initiates data connection to random port specified by server)
FTP server's ports > 1024 to remote ports > 1024 (Server sends ACKs (and data) to client's data port)



In step 1, the client contacts the server on the command port and issues the PASV command. The server then replies in step 2 with PORT 2024, telling the client which port it is listening to for the data connection. In step 3 the client then initiates the data connection from its data port to the specified server data port. Finally, the server sends back an ACK in step 4 to the client's data port.

While passive mode FTP solves many of the problems from the client side, it opens up a whole range of problems on the server side. The biggest issue is the need to allow any remote connection to high numbered ports on the server. Fortunately, many FTP daemons, including the popular WU-FTPD allow the administrator to specify a range of ports which the FTP server will use. See Appendix 1 for more information.

The second issue involves supporting and troubleshooting clients which do (or do not) support passive mode. As an example, the command line FTP utility provided with Solaris does not support passive mode, necessitating a third-party FTP client, such as ncftp.

With the massive popularity of the World Wide Web, many people prefer to use their web browser as an FTP client. Most browsers only support passive mode when accessing ftp:// URLs. This can either be good or bad depending on what the servers and firewalls are configured to support.



Passive FTP Example
Below is an actual example of a passive FTP session. The only things that have been changed are the server names, IP addresses, and user names. In this example an FTP session is initiated from testbox1.slacksite.com (192.168.150.80), a linux box running the standard FTP command line client, to testbox2.slacksite.com (192.168.150.90), a linux box running ProFTPd 1.2.2RC2. The debugging (-d) flag is used with the FTP client to show what is going on behind the scenes. Everything in red is the debugging output which shows the actual FTP commands being sent to the server and the responses generated from those commands. Normal server output is shown in black, and user input is in bold.

Notice the difference in the PORT command in this example as opposed to the active FTP example. Here, we see a port being opened on the server (192.168.150.90) system, rather than the client. See the discussion about the format of the PORT command above, in the Active FTP Example section.

testbox1: {/home/p-t/slacker/public_html} % ftp -d testbox2
Connected to testbox2.slacksite.com.
220 testbox2.slacksite.com FTP server ready.
Name (testbox2:slacker): slacker
---> USER slacker
331 Password required for slacker.
Password: TmpPass
---> PASS XXXX
230 User slacker logged in.
---> SYST
215 UNIX Type: L8
Remote system type is UNIX.
Using binary mode to transfer files.
ftp> passive
Passive mode on.
ftp> ls
ftp: setsockopt (ignored): Permission denied
---> PASV
227 Entering Passive Mode (192,168,150,90,195,149).
---> LIST
150 Opening ASCII mode data connection for file list
drwx------ 3 slacker users 104 Jul 27 01:45 public_html
226 Transfer complete.
ftp> quit
---> QUIT
221 Goodbye.


Summary
The following chart should help admins remember how each FTP mode works:

Active FTP :
command : client >1024 -> server 21
data : client >1024 <- server 20

Passive FTP :
command : client >1024 -> server 21
data : client >1024 -> server >1024

A quick summary of the pros and cons of active vs. passive FTP is also in order:

Active FTP is beneficial to the FTP server admin, but detrimental to the client side admin. The FTP server attempts to make connections to random high ports on the client, which would almost certainly be blocked by a firewall on the client side. Passive FTP is beneficial to the client, but detrimental to the FTP server admin. The client will make both connections to the server, but one of them will be to a random high port, which would almost certainly be blocked by a firewall on the server side.

Luckily, there is somewhat of a compromise. Since admins running FTP servers will need to make their servers accessible to the greatest number of clients, they will almost certainly need to support passive FTP. The exposure of high level ports on the server can be minimized by specifying a limited port range for the FTP server to use. Thus, everything except for this range of ports can be firewalled on the server side. While this doesn't eliminate all risk to the server, it decreases it tremendously.
                      To NTFS or not to NTFS—that is the question. But unlike the deeper questions of life, this one isn't really all that hard to answer. For most users running Windows XP, NTFS is the obvious choice. It's more powerful and offers security advantages not found in the other file systems. But let's go over the differences among the files systems so we're all clear about the choice. There are essentially three different file systems available in Windows XP: FAT16, short for File Allocation Table, FAT32, and NTFS, short for NT File System.

FAT16

The FAT16 file system was introduced way back with MS–DOS in 1981, and it's showing its age. It was designed originally to handle files on a floppy drive, and has had minor modifications over the years so it can handle hard disks, and even file names longer than the original limitation of 8.3 characters, but it's still the lowest common denominator. The biggest advantage of FAT16 is that it is compatible across a wide variety of operating systems, including Windows 95/98/Me, OS/2, Linux, and some versions of UNIX. The biggest problem of FAT16 is that it has a fixed maximum number of clusters per partition, so as hard disks get bigger and bigger, the size of each cluster has to get larger. In a 2–GB partition, each cluster is 32 kilobytes, meaning that even the smallest file on the partition will take up 32 KB of space. FAT16 also doesn't support compression, encryption, or advanced security using access control lists.

FAT32

The FAT32 file system, originally introduced in Windows 95 Service Pack 2, is really just an extension of the original FAT16 file system that provides for a much larger number of clusters per partition. As such, it greatly improves the overall disk utilization when compared to a FAT16 file system. However, FAT32 shares all of the other limitations of FAT16, and adds an important additional limitation—many operating systems that can recognize FAT16 will not work with FAT32—most notably Windows NT, but also Linux and UNIX as well. Now this isn't a problem if you're running FAT32 on a Windows XP computer and sharing your drive out to other computers on your network—they don't need to know (and generally don't really care) what your underlying file system is.

The Advantages of NTFS

The NTFS file system, introduced with first version of Windows NT, is a completely different file system from FAT. It provides for greatly increased security, file–by–file compression, quotas, and even encryption. It is the default file system for new installations of Windows XP, and if you're doing an upgrade from a previous version of Windows, you'll be asked if you want to convert your existing file systems to NTFS. Don't worry. If you've already upgraded to Windows XP and didn't do the conversion then, it's not a problem. You can convert FAT16 or FAT32 volumes to NTFS at any point. Just remember that you can't easily go back to FAT or FAT32 (without reformatting the drive or partition), not that I think you'll want to.
The NTFS file system is generally not compatible with other operating systems installed on the same computer, nor is it available when you've booted a computer from a floppy disk. For this reason, many system administrators, myself included, used to recommend that users format at least a small partition at the beginning of their main hard disk as FAT. This partition provided a place to store emergency recovery tools or special drivers needed for reinstallation, and was a mechanism for digging yourself out of the hole you'd just dug into. But with the enhanced recovery abilities built into Windows XP (more on that in a future column), I don't think it's necessary or desirable to create that initial FAT partition.

When to Use FAT or FAT32

If you're running more than one operating system on a single computer , you will definitely need to format some of your volumes as FAT. Any programs or data that need to be accessed by more than one operating system on that computer should be stored on a FAT16 or possibly FAT32 volume. But keep in mind that you have no security for data on a FAT16 or FAT32 volume—any one with access to the computer can read, change, or even delete any file that is stored on a FAT16 or FAT32 partition. In many cases, this is even possible over a network. So do not store sensitive files on drives or partitions formatted with FAT file systems.
                 This tutorial will show you How to connect two PCs by LAN (Ethernet). There are many ways to connect two PCs, but connecting them together by LAN is the easiest and most cost effective way. Plus, you can use this method for any number of PCs.
What you need:

1. 2 PCs with Ethernet Cards or Onboard Ethernet

Most new motherboards come with onboard Ethernet, you can check this out in My Computer > Properties > Hardware > Device Manager > Network Adapter.

2. A Crossover Ethernet cable.

The normal Ethernet cables won’t work, you must have a cross crimped Ethernet cable which can be used to transmit data in both directions.

3. A Ethernet Hub

A Ethernet hub is needed if you plan to connect more than two PCs. If you want to connect just two PCs, you can do it directly without a hub.
How to do it:

1. Connect the crossover Ethernet cable to the LAN (RJ45) ports of both the PCs.

PC - 1:

- Go to My Computer > Properties > Computer Name.
- Change the Computer Name to A and Workgroup name to ABC and click OK to save changes.
- Go to Control Panel > Network Connections.
- Right click on your LAN connection and select Properties.
- Select Internet Protocol (TCP/IP) > Properties.
- Enter these values:
IP Address - 192.168.1.2
Subnet Mask - 255.255.255.0
- Leave the other fields blank and click OK to save changes.

- Go to My Computer > Properties > Computer Name.
- Change the Computer Name to B and Workgroup name to ABC and click OK to save changes.
- Go to Control Panel > Network Connections.
- Right click on your LAN connection and select Properties.
- Select Internet Protocol (TCP/IP) > Properties.
- Enter these values:
IP Address - 192.168.1.3
Subnet Mask - 255.255.255.0
- Leave the other fields blank and click OK to save changes.
- - -
After the connections and settings have been saved, both the PCs should be connected by LAN. You may need to restart both the PCs.

You can check if the connection is working by pinging one PC from the other.

For PC-1, Start > Run > CMD > ping 192.168.1.2
For PC-2, Start > Run > CMD > ping 192.168.1.3

You can view the PCs in My Network Places. You can now use this LAN connection to play multiplayer games or share files. You can also map a drive on another PC to a local drive by using My Computer > Tools > Map Network Drive > Select Drive Letter and network path of the shared folder on the other PC.
To configure Outlook 2007 for your Gmail address:
  1. Enable POP in your email account. Don't forget to click Save Changes when you're done.
  2. Open Outlook.
  3. Click the Tools menu, and select Account Settings...
  4. On the E-mail tab, click New...
  5. If you are prompted to Choose E-mail Service, select Microsoft Exchange, POP3, IMAP, or HTTP, and click Next.
  6. Fill in all necessary fields to include the following information:
  7. Your Name: Enter your name as you would like it to appear in the From: field of outgoing messages. Email Address: Enter your full Gmail email address (username@gmail.com). Google Apps users, enter your full address in the format username@your_domain.com. Password: Enter your email password. Manually configure server settings or additional server types: Leave this option unchecked if you want to automatically configure Outlook 2007. If you want to manually configure Outlook 2007, check this box now. Google Apps users should configure manually as follows. Enter name, email address, and password
  8. Click Next. If you are configuring Outlook 2007 automatically, you're done! Just click Finish.
  9. Successful Configuration
  10. If you are configuring Outlook 2007 manually, select Internet E-mail and click Next.
  11. Verify your User Information, and enter the following additional information:
  12. Server Information Account Type: POP3 Incoming mail server: pop.gmail.com (Google Apps users, enter the server names provided, don't add your domain name in these steps) Outgoing mail server (SMTP): smtp.gmail.com Logon Information User Name: Enter your Gmail username (including @gmail.com). Google Apps users, enter your full address in the format username@your_domain.com Password: Enter your email password. Require logon using Secure Password Authentication (SPA): Leave this option unchecked. Account Settings
  13. Click the More Settings... button, and select the Outgoing Server tab.
  14. Check the box next to My outgoing server (SMTP) requires authentication and select Use same settings as my incoming mail server.
  15. Outgoing Server Tab
  16. Click the Advanced tab, and check the box next to This server requires an encrypted connection (SSL) under Incoming Server (POP3).
  17. In the Outgoing server (SMTP) box, enter 587, and select TLS from the drop-down menu next to Use the following type of encrypted connection:.
  18. Advanced Tab
  19. Click OK.
  20. Click Test Account Settings... After receiving 'Congratulations! All tests completed successfully', click Close.
  21. Click Next, and then click Finish.
Congratulations! You're done configuring your client to send and retrieve Gmail messages.
802.11n is the next evolution in Wi-Fi communications, and is the first dual-band standard from the IEEE. 802.11n will leverage much of what has been learned over the years from 802.11a/b/g, including the latest developments in QoS, power saving, MIMO (multiple-input-multiple-output), and leaves the door open for future technologies such as beam-forming.

802.11g works in the 2.4 GHz band only, supports a single data stream between the AP and the mobile user device, has a maximum "link rate" of 54 Mb/s, and a maximum throughput in the range of 20-26 Mb/s.

            802.11g is also susceptible to something called "multipath fading", where as the signal reflects off of the walls, ceilings, furniture, etc., it can create dead spots, also known as "nulls."
           You'll notice that most 802.11g access points have two antennas, which uses a technology called "diversity" to help overcome the effects of multipath. 2.4 GHz communications is also affected by microwave ovens, Bluetooth devices, 2.4 GHz cordless phones, and other 2.4 GHz neighboring wireless devices such as other 802.11g and 802.11b APs and routers.

802.11n will operate in both the 2.4 GHz and 5 GHz bands, and supports multiple simultaneous data streams between the AP and the mobile user.
                      These are also referred to as "spatial streams," as they utilize the multipath I mentioned above to "multiplex:" multiple individual data streams for a much higher total aggregate throughput. You'll see references to 802.11n eventually supporting upwards of 200 to 600 Mb/s throughput, depending upon the number of simultaneous spatial streams. As you'll agree, this is quite a bit more than the throughput of existing 802.11g or 802.11a products.
                      In this way, 802.11n actually benefits from multipath, where 802.11a/b/g suffer from it. 802.11n will also provide a high-definition video mode at 5 GHz, ideal for transporting multiple high-definition video streams between your home theater devices, cable modem, camcorder, DVD player, etc. Lastly, as 802.11n supports the 5 GHz band, it will provide many more channels to choose from, less chance of interference from neighboring networks, and be immune to the negative affects of microwave ovens, Bluetooth, etc.

Today you'll see "Pre-N" or non-standard home versions. The reality is that it will be mid-to-late 2007 before 802.11n is ratified as a standard and then tested for interoperability.
                    Wireless is more and more an option for businesses or even home users of computer networks. We would all like to get rid of those ugly cables and wires on the carpets or under them, on the walls or on the ceilings. Unfortunately, wireless networks are perceived as slower and not so secure as LAN networks. Over time, a series of wireless networks standards were developed, in the search for increasing security
, speed and stability.

IEEE 802.11

This was the first wireless standard developed by the Institute of Electrical and Electronics Engineers (IEEE) which uses Ethernet protocol for defining WLAN (Wireless Local Area Network) standards. Transfer speeds: 6, 12 and 24 Mbits/second.

IEEE 802.11a

The improvement brought by this new standard was the transfer rate of up to 54 Mbits/second.

IEEE 802.11b

This is a simplified revision of 802.11a standard and it is the most used one, due to its low fabrication costs. The theoretical transfer rate is 11Mbits/second. It is slower than 802.11a, because it operates within the radio spectrum of 2.4 GHz, while 802.11a operates within 5GHz.

IEEE 802.11e

The improvements brought by this standard were the QoS and the multimedia support.

IEEE 802.11g

This was the answer to the challenge of combining the speed of 11a and the low costs of 11b standards. It operates on 2.4 GHz, thus fabrication costs being low as in 11a, but it offers speeds of up to 54Mbits/second, as in 11b.

IEEE 802.11n

This standard will be a big step ahead 11g standard. It will offer a speed of couple of hundreds Mbits/second, but the equipment will be more expensive. Although it hasn’t been certified, about 30,000 IT&C products complying with 802.11n have been already launched, most of them belonging to companies such as Linksys, D-Link, Netgear, Buffalo or Belkin.

Bluetooth

Bluetooth can be described as a wireless version for USB devices. It is not intended to provide high quality networking and it only works over short distances. Common uses for bluetooth include cellphone-computer communication, printing to a local printer, or PDA synchronizing.

Unfortunately bluetooth also operates on the 2.4GHz frequency potentially causing interference with your 802.11b/g network. Not to mention that using 2.4 GHz cordless phones can cause all sort of problems on 2.4 GHz networks.

Many controversies were born around the subject of wireless networks security. There are some 10 simple steps to be followed for best WiFi security.

Also, connectivity problems were raised, due to interferences or signal interruptions. Microsoft shares with us 10 tips for improving wireless networks. Their recommendations seem to be useful for those who want to get rid of wires in their life.

                            The model actually is used to describe how data that's generated by a user, such as an email message, moves through a number of intermediary forms until it is converted into a stream of data that can actually be placed on the network media and sent out over the network. The model also describes how a communication session is established between two devices, such as two computers, on the network. Because other types of devices, such as printers and routers, can be involved in network communication, devices (including computers) on the network are actually referred to as nodes. Therefore, a client computer on the network or a server on the network would each be referred to as a node.


                           When data is sent by a network node (for example, a computer sending an email message, as already mentioned), that data moves down through the OSI stack and then is transmitted over the network media. When the data is received by a node, such as another computer on the network, it moves up through the OSI stack until it is again in a form that can be accessed by a user on that computer.
                           Each of the layers in the OSI model is responsible for certain aspects of getting user data into a format that can be transmitted on the network. Some layers are also for establishing and maintaining the connection between the communicating nodes, and other layers are responsible for the addressing of the data so that it can be determined where the data originated (on which node) and where the data's destination is.
                          An important aspect of the OSI model is that each layer in the stack provides services to the layer directly above it. Only the Application layer, which is at the top of the stack, would not provide services to a higher-level layer.

                     The process of moving user data down the OSI stack on a sending node (again, such as a computer) is called encapsulation. The process of moving raw data received by a node up the OSI stack is referred to as de-encapsulation.
                      To encapsulate means to enclose or surround, and this is what happens to data that is created at the Application layer and then moves down through the other layers of the OSI model. A header, which is a segment of information affixed to the beginning of the data, is generated at each layer of the OSI model, except for the Physical layer. This means that the data is encapsulated in a succession of headers—first the Application layer header, then the Presentation layer header, and so on. When the data reaches the Physical layer, it is like a candy bar that has been enclosed in several different wrappers.

                         When the data is transmitted to a receiving node, such as a computer, the data travels up the OSI stack and each header is stripped off of the data. First, the Data Link layer header is removed, then the Network layer header, and so on. Also, the headers are not just removed by the receiving computer; the header information is read and used to determine what the receiving computer should do with the received data at each layer of the OSI model.
                           It is by using these headers that the sending computer is able to communicate with the receiving computer and provide the receiving computer with either information or actual instructions related to the disposition of the data at the various levels of the OSI model. Using the candy bar analogy again, the situation on the receiving computer would be like opening a candy bar enclosed in many layers of wrapping, with each individual wrapper providing important instructions on how to unwrap the candy further and eventually eat the candy bar.

                           Figure 5.2 provides a diagram of the encapsulation and de-encapsulation processes. The header information supplied at each layer of the OSI model by the sending computer will be used by the receiving computer as it massages the data into a format that can actually be accessed by a user on that computer.





Figure 5.2. Data is encapsulated on the sending computer and then de-encapsulated on the receiving computer.

 
 
 




                            Although a number of the PC operating systems now available (such as Windows and the Apple OS) provide for peer-to-peer networking (discussed in the next chapter), in most cases one thinks of a network as being made up of clients and servers. 

                           A client is a computer that allows a user or users to log on to the network and take advantage of the resources available on the network. A client computer will run a client operating system (such as Windows XP Professional). The purpose of the client is to get a user onto the network; therefore, client computers don't usually have the processing power, the storage space, or the memory found on a server because the client does not have to serve up resources to other computers on the network (although dropping PC prices and advances in technology allow you to buy client computers that have the power and storage equal to a server that was purchased a year or two earlier).

                          A server, on the other hand, is typically a much more powerful computer that runs a network operating system (NOS) such as Microsoft Windows Server 2003 or Novell NetWare. The server provides centralized administration of the network and serves up the resources that are available on the network, such as printers and files (the NOS provides the server with these capabilities). The administrator of the server decides who can and cannot log on to the network and which resources the various users can access.
Most LANs consist of many clients and a few servers. While one server always controls user logons, other servers can specialize in providing certain types of resources (such as print servers and file servers, which are discussed in the next chapter). Figure 1.2 provides a diagram of a "typical" PC network.


Ports List

Sharan R >>
Internet Ports List

1 Port Service Multiplexer
2 Management Utility
3 Compression Process
5 Remote Job Entry
7 Echo
11 Systat Active Users
13 Daytime
17 Quote of the Day
18 Message Send Protocol
19 Character Generator
20 File Transfer (FTP) [Default Data]
21 File Transfer (FTP) [Control]
22 SSH Remote Login Protocol
23 Telnet
25 Simple Mail Transfer (SMTP)


The OSI, or Open System Interconnection, model defines a networking framework for implementing protocols in seven layers. Control is passed from one layer to the next, starting at the application layer in one station, and proceeding to the bottom layer, over the channel to the next station and back up the hierarchy.


Application
(Layer 7)

This layer supports application and end-user processes. Communication partners are identified, quality of service is identified, user authentication and privacy are considered, and any constraints on data syntax are identified. Everything at this layer is application-specific. This layer provides application services for file transfers, e-mail, and other network software services. Telnet and FTP are applications that exist entirely in the application level. Tiered application architectures are part of this layer.
 

Presentation
(Layer 6)

This layer provides independence from differences in data representation (e.g., encryption) by translating from application to network format, and vice versa. The presentation layer works to transform data into the form that the application layer can accept. This layer formats and encrypts data to be sent across a network, providing freedom from compatibility problems. It is sometimes called the syntax layer.
 

Session
(Layer 5)

This layer establishes, manages and terminates connections between applications. The session layer sets up, coordinates, and terminates conversations, exchanges, and dialogues between the applications at each end. It deals with session and connection coordination.
 

Transport
(Layer 4)

This layer provides transparent transfer of data between end systems, or hosts, and is responsible for end-to-end error recovery and flow control. It ensures complete data transfer.
 

Network
(Layer 3)

This layer provides switching and routing technologies, creating logical paths, known as virtual circuits, for transmitting data from node to node. Routing and forwarding are functions of this layer, as well as addressing, internetworking, error handling, congestion control and packet sequencing.
 

Data Link
(Layer 2)

At this layer, data packets are encoded and decoded into bits. It furnishes transmission protocol knowledge and management and handles errors in the physical layer, flow control and frame synchronization. The data link layer is divided into two sub layers: The Media Access Control (MAC) layer and the Logical Link Control (LLC) layer. The MAC sub layer controls how a computer on the network gains access to the data and permission to transmit it. The LLC layer controls frame synchronization, flow control and error checking.
 

Physical
(Layer 1)

This layer conveys the bit stream - electrical impulse, light or radio signal -- through the network at the electrical and mechanical level. It provides the hardware means of sending and receiving data on a carrier, including defining cables, cards and physical aspects. Fast Ethernet, RS232, and ATM are protocols with physical layer components.














John Wiley & Sons | ISBN: 0471375234 | 2000 | PDF | 613 pages | 4.23 MB

The bestselling guide to assembly language--now updated and expanded to include coverage of Linux. This new edition of the bestselling guide to assembly programming now covers DOS and Linux! The Second Edition begins with a highly accessible overview of the internal operations of the Intel-based PC and systematically covers all the steps involved in writing, testing, and debugging assembly programs.



http://rapidshare.com/files/290104687/Assembly_Language_Step-by-step.rar
E-Mail Servers...

Controlling e-mail servers directly can be quite interesting, and fun. This document will show some very basic ways of sending and receiving e-mail using the mail servers directly.

Sending e-mail...

Most e-mail is sent using SMTP (simple mail transfer protocol) servers. The mail programs logs into that server, sends e-mail, and logs you off. You can do that yourself! SMTP servers reside on port 25 of your e-mail server. Usually, the name is mail.yourisp.com. You telnet into that server using a telnet program. A telnet program is available to almost anybody; under UNIX and Windows. You telnet to port 25! i.e.:

telnet mail.yourisp.com 25
Once you've logged on, the server expects a greeting. The greeting is in the form of "HELO yourip." Luckily, you don't need to type in your IP (most of the time) and can just use a dot in it's place.. i.e.:

HELO .
You should note that the "dot" has spaces on BOTH SIDES! Once you've said HELO, you can start sending e-mail. First, you specify who's sending e-mail. This has to be an e-mail address with a valid server (the server's name has to exist, and DNS server has to verify it...) Usually, this would be your real e-mail; but if you're using this approach, obviously, you'd want to avoid your real e-mail. Thus, you can make up any e-mail! For example: root at NO SPAM yahoo dot com would do pretty well. It will make it seem as though the e-mail has some from there... ;-) (NOTE: do not use yahoo.com as your server!!! I like their services, and I don't want to cause them any bit of problems.) You continue by specifying:

MAIL FROM: root at NO SPAM yahoo dot com
You could also have said:

MAIL FROM:
It doesn't really matter as long as you tell the server who "you are"... Then, you have to specify the location where you want to send your e-mail... you do this:

RCPT TO: victim@somewhere.com
You could also have said:

RCPT TO:
Once you specified the location of your victim (recipient ;-), you can begin the e-mail by typing:

DATA
Note, that the first several lines you type after DATA might have special meaning. For example, after DATA, you can type:

FROM: Mr.Phreak
TO: Victim
SUBJECT: The subject of the e-mail...
You can of course, type in more screwy info... most of the rest are pretty much not standard, and will not be compatible with text only e-mail readers. Note that you don't need these lines... they're only for the receiving program to put for the user "who sent you the e-mail" mgs... avoiding them will simply leave the e-mail with no subject, the "TO" field will have "undisclosed recipient;" and the "FROM" field will have your e-mail you've specified in the "MAIL FROM" field. After these three lines, you can being your e-mail text. The text can be anything, and multi-lined. You end the e-mail by typing a dot at the beginning of a line. For example, you end the e-mail this way:

see you later ;-)
.
See that little dot at the last line? To quit from the server, you simply type QUIT... i.e.:

QUIT
After QUIT, the server disconnects you. Notice that the only revealing thing in the e-mail will be your IP address. Which if you use a publicly available workstation (the library), and/or telnet into several other servers before hand, will pretty much be hard to trace...

Receiving E-Mail...

Receiving e-mail using a mail server directly isn't much fun. (and most of the times, I'd definitely not recommend it.) Anyway, there are times where this comes in useful. (for example, deleting junk mail without downloading it...)

Most people read e-mail using a POP3 mail server. A POP3 server resides on port 110, usually referred to as "pop3"... you telnet into that server by:

telnet mail.yourisp.com pop3
You could also have said:

telnet mail.yourisp.com 110
As soon as you logon, the server is in it's AUTHENTICATION mode... and expects you to type in your username and password. You do this by:

USER username
PASS password
If you make an error, you can try again... (it will let you know that the password/username is not valid...) Once you logon, you'll be in the TRANSFER mode... (or something) At that point, you can see how many msgs you got, and read them. For example, you can type:

STAT
To give you statistics about your e-mail... (basically, the size of e-mails...) Similar goes for the LIST command... i.e.:

LIST [msg]
The [msg] there is optional, if you want to find out stuff about an individual e-mail, you use it. (I almost always use LIST with no parameters). After you know how many e-mails you got, you can read (well...almost) each individual e-mail by typing:

RETR msg
Where "msg" is the e-mail number gotten from LIST command. The only disadvantage is that if the e-mail is large, it just zoomes past you, and you can hardly read it... (that's why I suggest an e-mail program)

To delete an e-mail you type:

DELE msg
This deletes (marks as deleted) the msg number pointer to by "msg". I say "marks as deleted" because it doesn't actually get deleted at that point. It will only be deleted when you leave the server. You can actually undelete the e-mails by typing:

RSET
That's it for the standard (required) POP3 commands, but MOST servers implement the optional ones as well... (which I won't describe here) However, I'll mention the most useful one (at least to me), the TOP msg n.

TOP msg n
Where the msg is the msg to display, and n is the number of lines to display... thus, you can see the header of an e-mail, without reading (or downloading) the whole e-mail.

You leave the server by typing QUIT...i.e.:

QUIT
At this point, the server deletes all the msgs marked as deleted (cleans up stuff), and waits for the next logon...

A suggestion is not to take up the POP3 server for a long time... since when you've logon, it locks everything. (and somebody who's sending you e-mail might not be able to get through on some configurations)

That's it for handling the e-mail servers directly. Most of these though, are more conveniently used in a small networking program... (writing your own mail client...) In which case, you'd want to take a look at [RFC1939] document for POP3, and [RFC822] document for SMTP.

NOTE: A very important note, most of these servers don't echo back the characters, thus, if you're typing, you won't see your text appear in the telnet window. (To fix it under Windows, you setup your terminal window to echo the characters locally.) Under UNIX, you can just telnet into another machine, that way, that other machine will echo the characters to you (not the mail server).

Good luck! (and don't use this info to send hard to trace junk mail)

Note: Most of the ISP would hve blocked port 25 by default. try for ur luck

Trace a Website

Sharan R >>
1. open cmd
2. type "ping www.google.com"
3. and ip address will appear next to name
4. go to ip-address.com
5. and at the bottom there is ip tracking.......... press
6. in the box type the ip and there you have it
7. you can change the website

Newspapers Internet magazines came with cover stories when Denial of service (DoS) attacks assaulted a number of large and very successful companies' websites last year. Those who claim to provide security tools were under attack. If Yahoo, Amazon, CNN and Microsoft feel victim to DoS attacks, can any site-owner feel safe?

In this article we'll try to make site owners understand the "In and Outs" of DoS andDDoS attack methods, vulnerabilities, and potential solutions to these problems. Webmasters are usually seen searching for solutions to new security threats and ways of patching-up before it is too late.
DoS:
In a Denial of Service (DoS) attack, the attacker sends a stream of requests to a service on the server machine in the hope of exhausting all resources like "memory" or consuming all processor capacity.

DoS Attacks Involve:
Jamming Networks
Flooding Service Ports
Misconfiguring Routers
Flooding Mail Servers
DDoS:
In Distributed DoS (DDoS) attack, a hacker installs an agent or daemon on numerous hosts. The hacker sends a command to the master, which resides in any of the many hosts. The master communicates with the agents residing in other servers to commence the attack. DDoS are harder to combat because blocking a single IP address or network will not stop them. The traffic can derive from hundred or even thousands of individual systems and sometimes the users are not even aware that their computers are part of the attack.

DDoS Attacks Involve:
FTP Bounce Attacks
Port Scanning Attack
Ping Flooding Attack
Smurf Attack
SYN Flooding Attack
IP Fragmentation/Overlapping Fragment Attack
IP Sequence Prediction Attack
DNS Cache Poisoning
SNMP Attack
Send Mail Attack

Some of the more popular attack methods are described below.

FTP Bounce Attack

FTP (File Transfer Protocol) is used to transfer documents and data anonymously from local machine to the server and vice versa. All administrators of FTP servers should understand how this attack works. The FTP bounce attack is used to slip past application-based firewalls.

In a bounce attack, the hacker uploads a file to the FTP server and then requests this file be sent to an internal server. The file can contain malicious software or a simple script that occupies the internal server and uses up all the memory and CPU resources.

To avoid these attacks, the FTP daemon on the Web servers should be updated regularly. The site FTP should me monitored regularly to check whether any unknown file is transferred to the Web server. Firewalls also help by filtering content and commands. Some firewalls block certain file extensions, a technique that can help block the upload of malicious software.

Port Scanning Attack

A port scan is when someone is using software tosystematically scan the entry points on other person’s machine. There arelegitimate uses for this software in managing a network.

Mosthackers enter another’s computer to leave unidentifiable harassing messages,capture passwords or change the set-up configuration. The defense for this isthrough, consistent network monitoring. There are free tools that monitor forport scans and related activity.

Ping Flooding Attack

Pinging involves one computer sending a signal to anothercomputer expecting a response back. Responsible use of pinging providesinformation on the availability of a particular service. Ping Flooding is theextreme of sending thousands or millions of pings per second. Ping Flooding cancripple a system or even shut down an entire site.

APing Flooding Attack floods the victim’s network or machine with IP Pingpackets. At least 18 operating systems are vulnerable to this attack, but themajority can be patched. There are also numerous routers and printers that arevulnerable. Patches cannot currently be applied throughout a global networkeasily.

Smurf Attack

A Smurf Attack is modification of the "ping attack"and instead of sending pings directly to the attacked system, they are sent to abroadcast address with the victim’s return address. A range of IP addressesfrom the intermediate system will send pings to the victim, bombarding thevictim machine or system with hundreds or thousands of pings.

One solution is to prevent the Web server from being usedas a broadcast. Routers must be configured to deny IP-Directed broadcasts fromother networks into the network. Another helpful measure is to configure therouter to block IP spoofing from the network to be saved. Routers configured assuch will block any packets that donor originate in the Network.To be effective this must be done to all routers on the network.

SYN Flooding Attack

This attack exploits vulnerability in the TCP/IPcommunications protocol. This attack keeps the victim machine responding back toa non-existent system. The victim is sent packets and asked to response to asystem or machine with an incorrect IP address. As it responds, it is floodedwith the requests. The requests wait for a response until the packets begin totime out and are dropped. During the waiting period, the victim system isconsumed by the request and cannot respond to legitimate requests.

When a normal TCP connection starts, a destination hostreceives a SYN (synchronize/start) packet from a source host and sends back aSYN ACK (synchronize acknowledge) response. The destination host must the hearan acknowledgement, or ACK packet, of the SYN ACK before the connection isestablished. This is referred as the "TCP three-way handshake”.

Decreasingthe time-out waiting period for the three way handshake can help to reduce therisk of SYN flooding attacks, as will increasing the size of the connectionqueue (the SYN ACK queue). Applying service packs to upgrade older operatingsystems is also a good countermeasure. More recent operating systems areresistant to these attacks.

IPFragmentation/Overlapping Fragment Attack

To facilitate IP transmission over comparatively congestednetworks. IP packets can be reduced in size or broken into smaller packets. Bymaking the packets very small, routers and intrusion detection systems cannotidentify the packets contents and will let them pass through without anyexamination. When a packet is reassembled at the other end, it overflows thebuffer. The machine will hang, reboot or may exhibit no effect at all.

Inan Overlapping Fragment Attack, the reassembled packet starts in the middle ofanother packet. As the operating system receives these invalid packets, itallocates memory to hold them. This eventually uses all the memory resources andcauses the machine to reboot or hang.

IPSequence Prediction Attack

Usingthe SYN Flood method, a hacker can establish connection with a victim machineand obtain the IP packet sequence number in an IP Sequence Prediction Attack.With this number, the hacker can control the victim machine and fool it intobelieving it’s communicating with another network machines. The victim machinewill provide requested services. Most operating systems now randomize theirsequence numbers to reduce the possibility of prediction.

DNSCache Poisoning

DNS provides distributed host information used for mappingdomain names and IP addresses. To improve productivity, the DNS server cachesthe most recent data for quick retrieval. This cache can be attacked and theinformation spoofed to redirect a network connection or block access to the Web sites),a devious tactic called DNS cache poisoning.

The best defense against problems such as DNS cachepoisoning is to run the latest version of the DNS software for the operatingsystem in use. New versions track pending and serialize them to help preventspoofing.

SNMP Attack

Most network devices support SNMP because it is active bydefault. An SNMP Attack can result in the network being mapped, and traffic canbe monitored and redirected.

The best defense against this attack is upgrading toSNMP3, which encrypts passwords and messages. SinceSNMP resides on almost all network devices, routers, hubs, switches, Servers andprinters, the task of upgrading is huge. Some vendors now offer an SNMP Managementtool that includes upgrade distribution for global networks.

UDP Flood Attack

AUDP Flood Attacks links two unsuspecting systems. By Spoofing, the UDP floodhooks up one system’s UDP service (which for testing purposes generates aseries of characters for each packet it receives) with another system’s UDPecho service (which echoes any character it receives in an attempt to testnetwork programs). As a result a non-stop flood of useless data passes betweentwo systems.

Send Mail Attack

In this attack, hundreds of thousands ofmessages are sent in a short period of time; a normal load might only be 100 or1000 messages per hour. Attacks against Send Mail might not make the front page,but downtime on major websites will.

For companies whose reputation dependson the reliability and accuracy of their Web-Based transactions, a DoS attackcan be a major embarrassment and a serious threat to business.

Conclusion

Frequent denial-of-service attacks and achange in strategy by "Black-Hat Hackers" are prompting enterprises todemand technology that proactively blocks malicious traffic.

Tools and services that reflectapproaches to combat such DoS attacks have been introduced with time. These arenormally upgrades to what was produced before. No solution is ever said to be anultimate solution to defend DoS attacks. Despite the new technology coming everyday, the attacks are likely to continue.