Sunday, February 18, 2007

SQL injection - Overview

Introduction:
'Hacking' is a term which intrigues everybody. SQL injection is a simple technique for exploiting web applications that use client-supplied data in the form of SQL queries, but without first removing potentially harmful characters. Many programmers are responsible with different roles for the development of a Web Application. This means that one programmer may not be familiar with the code/function written by another programmer for the same application. Generally this leads to vulnerabilities in the system which can be exploited.
Testing procedure:
The primary technique for testing is to insert a single quote (') into the first argument of any script. If the server returns a white blank screen with an ODBC error, Bingo! you just hit the jackpot.
Another common procedure is to use a single quote and any SQL parameter (such as " ' WHERE ") in an argument of the script. This procedure has to be repeated for every argument, while ensuring that valid data is passed into all the other arguments. This will effectively help us determine if SQL injection is posibble.


Evaluating Results:
The basic idea is 'SQL injection is succesful,if the server returns a database error'. However the error messages aren't always so obvious. The source of the entire page should be searched for terms like "ODBC", "SYNTAX" and "SQL Server", as the message details may be hidden in comments, headers, etc of the page.
Some Web Applications are designed to redirect the user/client to the main page of the site whenever an error occurs. If you encounter a 500 Error Page, then there is a good probabilty that SQL injection was successful.
Attacking:
Although there are many techniques used for SQL injection, this articles deals with 'Authorization bypass'.
Authorization Bypass:
This technique is used for bypassing logon forms. Consider the following application code
// SQLQuery = "SELECT Username FROM Users WHERE Username = ‘" &
// strUsername & "‘ AND Password = ‘" & strPassword & "‘"
// strAuthCheck = GetQueryResult(SQLQuery)
// If
// strAuthCheck = "" Then boolAuthenticated = False
// Else
// boolAuthenticated = True
// End If
When a user enters the username and password, the query will go through the Users table to check if a row with the Username and Password exist. If such a row is found, then the username is stored in the strAuthCheck variable. If no row is found then the strAuthCheck variable will be empty indicating an authenticated user.
You modify the characters of the strUsername and strPassword, such that the SQL query structure is modified, it will return a valid name from the table and authenticate you.
Consider a user filling the logon form with the following data:
Login: ' OR ''='
Password: ' OR ''='
The SQL query will then be modified as:
// SELECT Username FROM Users WHERE Username = '' OR ''='' AND
// Password = '' OR ''=''

Instead of comparing the user-supplied data with that present in the Users table, the query compares a quotatation mark to another quotation mark. Since all the conditions of the SQL query are satisfied this will result in copying the Username in the first row in the table to the strAuthCheck, successfully ensuring athentication.In the last article we discussed the definition of SQL injection, the procedure for testing if SQL injection is possible, evaluating the Error pages and an attacking technique called 'Authorization Bypass'.
Protection against SQL injection:
1. Data Sanitization:
The main factor involved in SQL inhection is the inclusion of harmful characters which act as part of the SQL query. Thus we should develop a procedure to remove such malicious characters in all applications. The best way to prevent SQL injection is to filter the data using a default-deny regular expression. This expression will only allow the characters specified, filtering out the rest. For example the following expression will only return letters and numbers:
s/[^0-9a-zA-Z]//\
Needless to say, the filter should be specific in nature so as to provide the best protection. If symbols or punctuation are required, convert them into HTML. For example, if a user is submitting an email address, only allow the 'at' (@), underscore, period and hyphen in addition with letters and numbers, and alalow them only if they have been converted into thier HTML substitutes.
2. Secure SQL coding
Make it a common practice to prefix and append a quote to all user inputs, even if the data is alpabetical or numeric. Manage authorization rights efficiently by ensuring that users are granted access to only the procedures required, rather than allowing access to all of the system-stored procedures.

Remember 'Stay Secure, Stay Smart'!

Read More...

Monday, January 29, 2007

Internet Protocol 6 (IPv6)

Introduction:
The Internet Protocol number (address) is a unique number for identification. Every computer that is connected to a local area network is assigned an IP address. IP is used for communication between a packet-switched network. Think of IP address as a postal address, but for computers. This address not only identifies a system connected to a network, but also ensures that data reaches the required system. By examining the data, we can also find out who sent the data with the help of IP.
The IPv4 is 32-bits in length, split into 4 groups of decimal numbers, 8 bits each. You are all familiar with numbers like, 15.126.237.48 and 211.164.221.89. As per IPv4, the range of each group is from 0 to 255. The IPv4 can accommodate up to 4294967296 addresses. As per current requirement, this is simply not enough. This is because, while developing the IPv4, nobody considered that IP’s will have to be assigned to peripherals except computers. Also network traffic has increased vehemently over the past few years. Thus IPv4 has been revised and IPv6 has been introduced.

IPv6:
The IPv6 has 128 bits and split into 8 groups of 16 bits each. This provides a very large number of address, which should be sufficient for the next 100 years. The IPv6 is denoted in Hexadecimal and a colon separates each group. So if your IPv4 address is 10.21.32.157, then your IPv6 address would be 1001:200A:FEEF:0000:0000:0003:DEAF:DEED. Huge and complicated isn’t it? You can simplify this address by removing all the zero groups and replacing them with colons.

IPv4 Header:
The diagram represents the IPv4 Header. Some of the notable fields present in the header are,
An IPv4 Header is minimum 20 bytes long. The first header field is the 4-bit Version field. The second field is the Internet Header Length (IHL), which contains the number of 32-bit words in the IPv4 Header. 8 bits are allocated to a Type of Service (ToS) field. This is specified by the source as to how the datagram should be handled as it traverses a network. The 16-bit Identification field is used for identifying fragments of an IP packet. The Time to Live (TTL) field prevents data from getting lost in a network. The 16-bit Header Checksum field for the IPv4 datagram header ensures payload integrity. The 32-bit source address and destination address is followed by the Options and Padding fields which are optional.

IPv6 Header:
The above figure represents the IPv6 Header. Compared to IPv4, the number of fields are less. The IPv6 is 40 bytes long which is just twice the minimum length of the IPv4 Header.
The 4-bit version field is also present in the IPv6 Header. The 8-bit Traffic Class field is used to assign Packet Priority depending upon the kind of data being delivered. The 20-bit Flow Label is meant to provide the quality of service. The data or the payload length is 16 bits in length. The 8-bit Next Header field is used for ‘header chaining’; informing the destination if there is another header following it. The Hop Limit field is 8-bits in length, followed by the 128-bit source address and destination address field.

Read More...

Sunday, December 24, 2006

Steganography - Seeing the Unseen!

SteganographyINTRODUCTION:
Steganography is the art of hiding information in ways that prevent the detection of hidden messages. Steganography, derived from Greek, literally means “covered writing.” It includes a vast array of secret communications methods that conceal the message’s very existence. These methods include invisible inks, micro dots, character arrangement, digital signatures, convert channel, and spread spectrum communications. The purpose is to achieve security and privacy by masking the very presence of communication. Simple steganographic techniques have been in use for hundreds of years, but with the increasing use of files in an electronic format new techniques for information hiding have become possible. It can be used to hide messages intended for later retrieval by a specific individual or group. Steganography can be further divided into watermarking and fingerprinting.
Steganography and encryption are both used to ensure data confidentiality. The main difference between them is that with encryption anybody can see that both parties are communicating in secret. Steganography hides the existence of a secret message and in the best case nobody can see that both parties are communicating in secret.
This makes steganography suitable for some tasks for which encryption isn’t, such as copyright marking. Adding encrypted copyright information to a file could be easy to remove but embedding it within the contents of the file itself can prevent it being easily identified and removed. Steganography provides a means of secret communication which cannot be removed without significantly altering the data in which it is embedded. The embedded data will be confidential unless an attacker can find a way to detect it.

REQUIREMENTS OF HIDING INFORMATION DIGITALLY:
There are many different protocols and embedding techniques that enable us to hide data in a given object. All of the protocols and techniques must satisfy a number of requirements so that steganography can be applied correctly. The following are the requirements that steganography techniques must satisfy:
  • The integrity of the hidden information after it has been embedded inside the stego object must be correct. The secret message must not change in any way, such as additional information being added, loss of information or changes to the secret information after it has been hidden. If secret information is changed during steganography, it would defeat the whole point of the process.

  • The stego object must remain unchanged or almost unchanged to the naked eye. If the stego object changes significantly and can be noticed, a third party may see that information is being hidden and therefore could attempt to extract or to destroy it.

  • In watermarking, changes in the stego object must have no effect on the watermark. Imagine if you had an illegal copy of an image that you would like to manipulate in various ways. These manipulations can be simple processes such as resizing, trimming or rotating the image. The watermark inside the image must survive these manipulations, otherwise the attackers can very easily remove the watermark and the point of steganography will be broken.
    Finally, we always assume that the attacker knows that there is hidden information inside the stego object.
EMBEDDING AND DETECTING MARK:
The following figure shows a simple representation of the generic embedding and decoding process in steganography.
The first step in embedding and hiding information is to pass both the secret message and the cover message into the encoder. Inside the encoder, one or several protocols will be implemented to embed the secret information into the cover message. The type of protocol will depend on what information we are trying to embed and what we are embedding it in. For example, we will use an image protocol to embed information inside images. A key is often needed in the embedding process. This can be in the form of a public or private key so we can encode the secret message with our private key and the recipient can decode it using public key. In embedding the information this way, we can reduce the chance of a third party attacker getting hold of the stego object and decoding it to find out the secret information.
In general the embedding process inserts a mark, M, in an object, I. A key, K, usually produced by a random number generator is used in the embedding process and the resulting marked object, Ĩ, is generated by the mapping: I x K x M → Ĩ.
Having passed through the encoder, a stego object will be produced. A stego object is the original cover object with the secret information embedded inside. This object should look almost identical to the cover object as otherwise a third party attacker can see embedded information.
Having produced the stego object, it will then be sent off via some communications channel, such as email, to the intended recipient for decoding. The recipient must decode the stego object in order for them to view the secret information. The decoding process is simply the reverse of the encoding process. It is the extraction of secret data from a stego object.
In the decoding process, the stego object is fed in to the system. The public or private key that can decode the original key that is used inside the encoding process is also needed so that the secret information can be decoded. Depending on the encoding technique, sometimes the original cover object is also needed in the decoding process. Otherwise, there may be no way of extracting the secret information from the stego object.
After the decoding process is completed, the secret information embedded in the stego object can then be extracted and viewed. The generic decoding process again requires a key, K, this time along with a potentially marked object, Ĩ. Also required is either the mark, M, which is being checked for or the original object, I, and the result will be either the retrieved mark from the object or indication of the likelihood of M being present in Ĩ.

MODERN STEGANOGRAPHY TECHNIQUES:
Simple Water Marking: A very simple yet widely used technique for watermarking images is to add a pattern on top of an existing image. Usually this pattern is an image itself - a logo or something similar, which distorts the underlying image. Steganography
In a standard image editor it is possible to merge both images and get a watermarked image. As long as we know the watermark, it is possible to reverse any adverse effects so that the original doesn't need to be kept. This method is only really applicable to watermarking, as the pattern is visible and even without the original watermark, it is possible to remove the pattern from the watermarked image with some effort and skill.
Masking and Filtering: Is where information is hidden inside of a image using digital watermarks that include information such as copyright, ownership, or licenses. The purpose is different from traditional steganography since it is adding an attribute to the cover image thus extending the amount of information presented.
Algorithms and Transformations: This technique hides data in mathematical functions that are often used in compression algorithms. The idea of this method is to hide the secret message in the data bits in the least significant coefficients.
Least Significant Bit Insertion: The most common and popular method of modern day steganography is to make use of the LSB of a picture’s pixel information. Thus the overall image distortion is kept to a minimum while the message is spaced out over the pixels in the images. This technique works best when the image file is larger then the message file and if the image is grayscale.

TYPES OF STEGANOGRAPHY:
Steganography can be split into two types, these are Fragile and Robust.
  • FRAGILE:
    Fragile steganography involves embedding information into a file which is destroyed if the file is modified. This method is unsuitable for recording the copyright holder of the file since it can be so easily removed, but is useful in situations where it is important to prove that the file has not been tampered with, such as using a file as evidence in a court of law, since any tampering would have removed the watermark...
    Fragile steganography techniques tend to be easier to implement than robust methods.

  • ROBUST:
    Robust marking aims to embed information into a file which cannot easily be destroyed. Although no mark is truly indestructible, a system can be considered robust if the amount of changes required to remove the mark would render the file useless. Therefore the mark should be hidden in a part of the file where its removal would be easily perceived. There are two main types of robust marking. Fingerprinting involves hiding a unique identifier for the customer who originally acquired the file and therefore is allowed to use it. Unlike fingerprints, watermarks identify the copyright owner of the file, not the customer. Whereas finger prints are used to identify people who violate the license agreement watermarks help with prosecuting those who have an illegal copy. Watermarks are typically hidden to prevent their detection and removal, they are said to be imperceptible watermark. Visible watermarks can be used and often take the form of a visual pattern overlaid on an image. The use of visible watermarks is similar to the use of watermarks in non-digital formats (such as the watermark on British money).
ATTACKS:
Because with most forms of steganography the purpose is to hide the information, detection is in a way an attack. There are many tools that try to exploit the many weakness of the various methods of steganography.
However, with watermarks, attacking takes on a different meaning. Here, the attacker is trying to render the watermark useless so as to circumvent its purpose. Some of the most effective attacks focus on the robust property of steganography. It is easier to attack bit-wise methods since these are less robust techniques. These attacks, such as rotating an image 1 degree, converting the image using a lossy compression format (JPEG), changing the size of the file so a watermark no longer fits the minimum size, or changing the length of an audio file can corrupt the data being hidden. Attacking transform methods is a little more difficult since the data is embedded more thoroughly. Many attacks on transform methods are so destructive to the data that they render the image useless. Depending on the method used to embed the message, some image processing techniques can render the hidden data useless. This works for both bit-wise and transform methods.

LIMITATIONS:
There are limitations on the use of steganography. As with encryption, if a person wants to communicate secretly with another they must first agree on the method being used. For example, Demeratus, a Greek at the Persian court, sent a warning to Sparta about an imminent invasion by Xerxes by removing the wax from a writing tablet, writing the message on the wood and then covering it in wax again. The tablet appeared to be blank and fooled the customs men but almost fooled the recipient too since he was unaware that the message was being hidden. With encryption, a person can be reasonably sure that he has received a secret message when a seemingly meaningless file arrives. It has either been corrupted or is encrypted. It is not so clear with hidden data, he simply receives an image, for example, and needs to know that there is a hidden message and how to locate it.
Another limitation is due to the size of the medium being used to hide the data. In order for steganography to be useful the message should be hidden without any major changes to the object it is being embedded in. This leaves limited room to embed a message without noticeably changing the original object.
This is most obvious in compressed files where many of the obvious candidates for embedding data are lost. What is left is likely to be the most perceptually significant portions of the file and although hiding data is still possible it may be difficult to avoid changing the file.

CONCLUSION:The art of steganography can be used to hide messages, copyright watermarking and other forms of data. It can be used as a form of secure communication between multiple parties and does not give away the intent of the communication in that the parties involved benefit from the fact that the cover data can be seemingly totally irrelevant to an outside observer. With the hi-speed bandwidth the is readily available to the average user and processing power that is also now available, it has become easy for the steganalyst to download and process large quantities of images, wave or other multimedia files that can contain hidden data. However, it is not totally immune from discovery. As with the other great innovations of the digital age: the battle between cryptographers and cryptanalysis, security experts and hackers, record companies and pirates, steganography and steganalysis will continually develop new techniques to counter each other.

Read More...

Question - Free Websites!

"How to create a website without spending money?" (Arun Kumar on 24 Dec '06)
Building a website requires two things: a domain and a web host. The domain is the name of your website (your-name.com) and the web host provides you space to upload your website making it accessible on the internet.
There are many services online which provide free web hosting and domains.
Tripod, Yahoo Geocities, Bravenet will help you to get started in the right direction. These services provide you with free online tools for website creation and management, requiring very basic or no HTML knowledge. But beware! as these services place a lot of advertisements on the web pages.
Another popular service nowadays are Blogs. A Blog is a special type of web page - an online journal, where you can share your thoughts and views with the world. Popular free Blog providers are
Blogger, MSN spaces and Live Journal which are rich in features and you should definitely them a try.

Read More...

Xbox 360 vs PlayStation 3

The gaming industry is one of the biggest industries which took in about USD $7 billion in the U.S alone in 2005. In mid 1995, Sony released its first gaming console called PlayStation. Not to be left behind, in 2001 Microsoft released its own gaming console called Xbox. Now with the release of PlayStation 3 and Xbox 360, the battle for the next generation game console is on. Gaming experience has been redefined.
Although both systems are very powerful from the technical perspective, opinions vary as to which is better, faster and more powerful. Let’s take a peek under the hood, and see what makes these cool machines tick.


Download the complete review
(File Format : PDF , File Size : 360 KB)

The only question is :
"Who will conquer your living room?"

Read More...

Friday, December 22, 2006

.NET Compact Framework

.NET COMPACT FRAMEWORK:
.Net Compact Framework, commonly known as .Net CF is a development tool providing an environment to design applications for smart devices like cell phones, Palm tops, PDA’s etc which have made communications easier in our day-to-day life. Operating systems which support the .NET CF like Windows CE(Compact Edition), run these types of applications.
The .NET Compact Framework is a part of the full .NET Framework class library. The .NET CF currently supports Visual Basic.NET and C# programming languages.
CLR (COMMON LANGUAGE RUNTIME):
.Net CF (Like the .NET Framework), has a Common Language Runtime feature. The CLR is the most important part of the .NET Compact Framework. By this feature the programs written in it are compiled in to a language known as the Common Intermediate Language (Microsoft’s CIL is known as MSIL-Microsoft Intermediate Language). The MSIL programs are compiled by a procedure called JIT – Just In Time, which converts and compiles the managed code into the native code. Through MSIL, programs are compiled by a procedure JIT into the native code format. These concepts all put together are called the CLR. By the CLR time and JIT compilation the .Net CF attains features like hardware independence, portability and optimal performance.
.NET CF FUNCTIONALITIES:
The .NET Compact Framework’s functionalities are:
The .NET CF is used for developing client applications on smart devices. It is an environment in which managed applications run on devices. It provides access to the underlying features of the device. The applications and components can interact on the device and over the Internet.
The .NET CF provides a model for developers to use for creating applications and components which can be used for a wide range of devices or for any specific device. The applications are allowed to use the native operating system of a device and the systems resources. By this we will be capable to invoke native APIs (Application Programming Interface) selectively.
AVAILABILITY:
We can develop applications by using .NET CF in Visual Studio.NET 2003 or in Visual Studio 2005. These applications are designed to run on a special high performance JIT compiler enabled mobile devices that have small display areas, small storage areas and run on batteries.
To be able to run applications powered by the .NET CF, the platform must support the Microsoft .NET CF runtime. Some operating systems which include the runtime are Windows CE .NET, Windows CE 4.1, Microsoft Pocket PC, Microsoft Pocket PC 2002 and Smartphone 2003. These applications can also run on desktop computers with full .NET Framework as the executable files are binary compatible.
.NET COMPACT FRAMEWORK FEATURES:
The core technology implemented in .Net CF conforms to the European Computer Manufacturers Association (ECMA) Common Language Infrastructure standard.
The .Net CF provides a multithreaded programming model that uses the scheduling mechanism of the system on which it runs. Cross-language interoperability is built into the .Net CF. The .Net CF is optimized for battery-powered systems and therefore does not use a lot of RAM space and CPU cycles.
It supports satellite assemblies’ i.e; the .Net CF allows us to develop our applications in a default language and add flexibility to react with changes in the locale. For example, we design our application interface in English and then require the labels to be shown in local languages in other countries. So we just load the resources for different languages in to different satellite assemblies and then when a change is required the appropriate assembly is loaded.(eg: local ATM machines have interface with two language options and when a particular language option is chosen the entire transaction is done in that language).
The .NET CF provides: Infrared Data Association (IrDA) classes - for making infrared connections and for applications that use transfer of data through IRDA; and Web listening classes for servicing HTTP requests to the device and for the applications that access a network.(e.g. WAP browser in mobile phones)
LANGUAGES SUPPORTED BY .NET COMPACT FRAMEWORK:
The .Net CF as of now supports only Visual Basic.Net and C# (C Sharp) programming languages.
VISUAL BASIC .NET:
Visual Basic .NET is the next generation of the Visual Basic language from Microsoft. We can build .NET applications, including Web services and ASP.NET Web applications easily with VB .Net.
Visual Basic has many features such as inheritance, interfaces, overloading, free threading and structured exceptional handling. It fully integrates the .NET Framework and the CLR, which together provide language interoperability, garbage collection, enhanced security, and improved versioning support. Applications of VB.Net are built on the services of the common language runtime. It creates Microsoft intermediate language (MSIL) as input to native code compilers.
VISUAL C#:
Visual C# also can create .NET applications, including Web services and ASP.NET Web applications. C# provides high level of security, garbage collection, and type safety. C# is fully integrated with the .NET Framework and the common language runtime. It simplifies concepts of C and C++.

Read More...

Saturday, December 9, 2006

MAC (Media Access Control)

Introduction:
The MAC (Media Access Control) address is a 48-bit unique identifier for all forms of peripherals connected in a networking environment. The original IEEE 802 MAC address, now officially called "MAC-48", comes from the Ethernet specification. Since the original designers of Ethernet had the foresight to use a 48-bit address space, there are potentially 248 or 281,474,976,710,656 possible MAC addresses. MAC-48 addresses are usually shown in hexadecimal format, with each octet separated by a dash or colon.
The Seven Layers of the OSI (Open System Interconnection) model are Application Layer, Presentation Layer, Session Layer, Transport Layer, Network Layer, Data-link Layer and Physical Layer.
The Physical layer refers to the wires connecting the network together, depending upon the standard being used (PPP, IBM token ring, etc). The physical layer encompasses all the electrical signals and cabling issues.
The Data-link layer is responsible for the transfer of discreet data in the forms of small chunks known as packets. Apart from every computer having a unique IP address, each computer has a 48-bit MAC address. The MAC address and the LLC(Logic Link Layer) compose the Data-link layer. The MAC is the layer which deals with Full-duplex (simultaneous bi-directional) or Half-duplex(non-simultaneous bi-directional) Ethernet cards, 10/100 or gigabit Ethernet speed transfers. It is also responsible for point-to-point addressing. The LLC deals with the frame synchronization, flow control and error checking.
The Network layer is handled by the IP layer in the TCP/IP stack. The Network layer deals with the routing and forwarding issues and ensures that packets are within the maximum packet size (MTU) and fragmenting them if not. If fragmented, it also deals with re-assembling them at the point of entry.
The Transport layer is the last layer to be encompassed by the TCP/IP (Transfer Control Protocol / Internet Protocol). The most common MAC type used is IP, where TCP and UDP are derived from; the standard IPv4 32-bit IP address. The transport layer is responsible for end-to-end communication and error free data transfer.

Mac vs IP Addressing :
MAC addressing works at the Data-link layer (layer 2), IP addressing functions at the Network layer (layer 3). It's a slight over-simplification, but one can think of IP addressing as supporting the software implementation and MAC addresses as supporting the hardware implementation of the network stack. The MAC address generally remains fixed and follows the network device, but the IP address changes as the network device moves from one network to another.
Why is MAC required?
When computers communicate over TCP/IP or UDP/IP , the computer who wishes to communicate with the destination IP computer ARP (Address Resolution Protocol) for the destination’s MAC address. The TCP/IP implementations require the IP to MAC address translation in RARP (Reverse Address Resolution Protocol).
This is the only way data gets transferred over the internet, by going through the OSI layers from layer 7 to layer 1 and back. Hence when you send a packet to an IP address, the Network layer finds the destination MAC and sends the packets to that MAC address. In a LAN setting, you usually hit the destination Ethernet card yourself through maybe some switches or hubs. In an internet setting, you go through various routers which do some analysis of TCP/IP headers and it finally arrives at the destination Ethernet card. You must realize that every Ethernet card in the world has a unique MAC address.
Deciphering the 48-bit MAC Adress :

Addresses can either be "universally administered addresses" or "locally administered addresses”. A universally administered address is uniquely assigned to a device by its manufacturer; these are sometimes called "burned-in addresses". The first 24-bits(3 bytes) identify the organization that issued the identifier and are known as OUI (Organizationally Unique Identifier). The next 24-bits are administered by the company or organization that the OUI has been assigned to in any manner subject to the constraint of uniqueness. For example, all 3Com cards will have the same OUI (First 3-octets) whereas the last three octets represent the serial number assigned to the adapter by the manufacturer.
Universally administered and locally administered addresses are distinguished by setting the second least significant bit of the most significant byte of the address (e.g. the most significant byte is xxxx xx1x); if that bit is binary 0, the address is universally administered. If it is binary 1, the address is locally administered. That bit is binary 0 for all OUI’s.
Fething the MAC Address using Command Line :

Several command-line utilities are available for fetching the MAC address. The most common and basic is the getmac command. Simply open the command prompt and type getmac and it will return your 48-bit MAC address comprising of the Physical address and the Transport name.
Another command is the ipconfig command with the /all optional flag. This command will get the MAC addresses of your Ethernet cards along with the IP addresses setup for each Ethernet card. Additional information such as your Gateway, WINS server, DNS server, subnet mask and all the IPs associated with each NIC (Network Interface Card).

Read More...

Saturday, December 2, 2006

Windows Vista - A complete review

Windows Vista is the latest operating system released by Microsoft. Windows Vista is a product that has been in development for over five years, which means that Vista had one of the longest development cycles in the 20+ year history of Windows. Windows Vista boasts of various modern OS features such as the new hardware-based graphical user interface (GUI), maintaining the same feel and look of Windows XP. Although to the average PC user, Windows Vista may seem to have nothing new, inside the hood, Vista is in fact quite different and more powerful compared to its predecessors despite the similarity on the surface. How? Lets find out...

Download Now!
Download the complete review
( File Format : PDF , File Size : 491 KB )

Read More...