VIVEK SHAH

011011010010000001100001011001000110010001101001011000110111010001100101011001000010000001110100011011110010000001101010011000010111011001100001 Click Here

Custom Search

An IP (Internet Protocol) address is as unique to a computer as a fingerprint is to us. An IP addressenables one networked device to talk to the next. The downside of this inter-connectedness is that a logical location provided by the IP address is an open arms invitation to spammers and hackers. The art of war necessitates the importance of knowing who your ‘attacker’ is. Being able to trace an IP address to a PC is a direct way to remove the cloak of anonymity from a computer communicating with your own.
An IP address is a series of digits separated by dotted decimals and represented from 0.0.0.0 to 255.255.255.255. Currently we are following theInternet Protocol Version 4 (IPv4), although the successor ‘version 6’ has been standardized.
A good hacker will take steps to prevent his IP from being revealed. A spammer might hide behind a proxy server. It is also important to remember that locating an IP address using online tools does not reveal the physical address of the guy on the computer. The basic tools merely tell us the location of the ISP providing the connection by using publicly available information. To go beyond that and actually nail down the guy sending you the dirty emails would require the law to be in the loop.

Stefan’s post on How to Trace Your Emails Back to the Source is required reading for a very useful application of IP address tracking. An interesting comment has been made by a reader who says that he uses IP address tracing to ‘find out the origin of potential customers who send e-mails and make inquiries through his company’s website’.
In the lines that follow, I am taking Stefan’s post as a stepping stone and extending it by listing sites which serve as tools to trace an IP address to a PC. Any one should be enough but is there any harm in bookmarking a few more?

Part 1: Trace an IP Address to the Country and City of Origin









This web service provides a whole range of geolocation services. Included tools are IP Lookup, Reverse IP lookup Email trace, Traceroute, Ping tool among others. Also of use is a handy link which you can use to get someone else’s IP. Field the IP address in the IP address location box and the results give you the geolocation info behind the address and a marker on a Google Map. A Firefox experimental add-on is also available from the Firefox Add-ons gallery.







A single field box for the IP address or host name, and the information follows. Geotool also uses Google Maps to depict the geographical location of the originating IP address. Geotool’sFirefox add-on shows a country flag representing the location of the current IP address (or website) and gives one click quick access to detailed location and web server information.







HostIP says that it’s a community driven project to resolve IP addresses. At present it has 8,886,729 entries in its database. You can contribute information to the database and the database is accessible to all. The site’s FAQ goes into the motivation behind the community project. The project is a buildup as an alternative to commercial geolocation databases. The site also provides a Firefox add-on which unfortunately, is not compatible with the latest version of the browser.







This Whois Lookup search service provides a spiffy domain name lookup service along with IP address searching. The information is comprehensive including contact data-like listed telephone numbers and email address of the hosting service. The Whois access is free while other domain tools (the Power Tools) come with the paid options.







A simple box and a simple IP address tracking service. You can also add the IP tracker to your website as a Google gadget.









IP-Address has three information pages which are of use to us – the homepage of IP-Address detects your IP, IP-Tracer locates the source of any IP address and Email Trace which nails the location of the senders IP address. With Email Trace, we simply need to paste the email header info in the box provided to get details about the sender.






The web service provides different web tools for IP addressing. With an input you can find the exact location of any IP address plus the OS used, DNS, IP address range of the country, country code and country flag. The integrated Geolocator and a world map narrows down to the city and country. Also included is a tool to check the validity of an email address. According to the site, its IP database is updated every 48 hours.

Part 2: How to Find Your Own IP Address

An IP address is akin to a home address but really, it is not as simple. Lots of geek speak and networking lingo would be required to explain what’s it’s all about. The 7 online tools covered not only give you the location of a foreign IP address but yours too as soon as you hit their landing page. There are many online services which decipher your IP address in a flash. Here are a few from the swarm -
That’s the quick and easy way. But what if you wanted to do it on your own using just your OS?
Here’s the how for Windows –
  • Go to Start – Run. Type in cmd to bring up the command prompt.
  • On the command prompt, type in ipconfig/all and hit enter.
    ip trace tools
  • Basic information of your network interfaces is listed along with your device’s IP address.
    ip trace tools
(Please note that your IP address may be static or dynamic depending on how the DHCP server that’s assigns the IPs is configured.)
The ISP service provider knows exactly where we are located. With the tools mentioned here, at best we can find the approximate area (even though a city is a large area!). It’s still useful…and sometimes it’s fun too.
Have you ever had to use IP tracking? Tell us why and how…

ANDROID ARCHITECTURE






















An Android system is a stack of software components. At the bottom of the stack is Linux – Linux 2.6 with approximately 115 patches. This provides basic system functionality like process and memory management and security. Also, the kernel handles all the things that Linux is really good at such as networking and a vast array of device drivers, which take the pain out of interfacing to peripheral hardware.


On top of Linux is a set of libraries including bionic (the Google libc), media support for audio and video, graphics and a lightweight database, which is a useful repository for storage and sharing of application data.


A key component of an Android system is the runtime – the Dalvik VM. This is not strictly a Java virtual
machine. It was designed specifically for Android and is optimized in two key ways. 
1. It is designed to be instantiated multiple times – each application has its own private copy running in a Linux process. 
2. It is also designed to be very memory efficient, being register based (instead of being stack based like most Java VMs) and using its own bytecode implementation. 

The Dalvik VM makes full use of Linux for memory management and multi-threading, which is intrinsic in the Java language.

The Application Framework provides many higher-level services to applications in the form of Java classes.
This will vary in its facilities from one implementation to another.

A key Android capability is the sharing of functionality. Every application can export functionality for use by
other applications in the system, thus promoting straightforward software re-use and a consistent user experience.

At the top of the Android software stack are applications. A number are supplied as standard. As mentioned,
each application may also expose some of its functionality for use by others. For example, the message sending
capability of the SMS application can be used by another application to send text messages.


APPLICATION DEVELOPMENT

1. DEVELOPMENT ENVIRONMENT

The standard Android development environment from Google is, as you might expect, Eclipse based, using a
plug-in to provide the necessary facilities. You need to define your target configuration by specifying an Android
Virtual Device. You can then execute code on either the host-based emulator or a real device, which is normally
connected via USB.

This environment only supports Android development on ARM-based target devices. Recently, however,
Mentor Graphics and others have ported Android to other processor architectures like MIPS.

2. PROGRAMMING MODEL

An Android application consists of a number of resources which are bundled into an archive – an Android
package. 

Programs are generally written in Java, built using the standard Java tools, and then the output file
is processed to generate specific code for the Dalvik VM. 

Each application runs in its own Linux process – 
an instantiation of the Dalvik VM – which protects its code and data from other applications. Of course, there are 
mechanisms for applications to transfer, exchange, and share data.



An application is a set of components which are instantiated and run as required. There is not really an
entry point or main() function

There are four types of application component: activities, services, broadcast receivers, and content providers.

Activity is the basic building block of every visible android application. It provides the means to render a UI. Every screen in an application is an activity by itself. Though they work together to present an application sequence, each activity is an independent entity. it is is a functional unit of the application, which may be invoked by another activity.
Service is another building block of android applications which does not provide a UI. It is a program that can run in the background for an indefinite period. it is is similar to an activity, except that it runs in the background without a GUI. 
An example of a 
service might be a media player that plays music while the user performs other tasks.
Broadcast Receiver i
simply respond to broadcast messages from other applications or from the system. 
For example, it may be useful for the application to know when a picture has been taken. This is the kind 
of event that may result in a broadcast message.
Content Providers 
supplies data from one application to others on request. Such requests are handled by 
the methods of the ContentResolver class. The data may be stored in the file system, the database or 
somewhere else entirely.
When you develop an Android application, you need to describe it to the system and this is achieved by means 
of a manifest file. This is an XML file called AndroidManifest.xml which is stored in the root folder of 
the application’s file system. 
This outline example of a manifest file includes the definition of a single activity called MyActivity:
                
                        
                        
                         . . .
                



The means of communication between the above mentioned components is through 
1. Intents
2. Intent Filters

When an Android application wishes to obtain some functionality from another application or from the system, 
it can issue an Intent
This is an asynchronous message that is used to activate an activity, service, or broadcast 
receiver. For an activity or service, the specific action and location of data is included.



What is HTTPS?

Hypertext Transfer Protocol Secure (HTTPS) is a combination of the Hypertext Transfer Protocol with theSSL/TLS protocol to provide encryption and secure (website security testing) identification of the server. It uses port 443. HTTPS connections are often used for payment transactions on the World Wide Web and for sensitive transactions in corporate information systems. HTTPS should not be confused with Secure HTTP (S-HTTP)

Hyper Text Transfer Protocol Secure (HTTPS) is a secure version of the Hyper Text Transfer Protocol (http). HTTPS allows secure ecommerce transactions, such as online banking.
Web browsers such as Internet Explorer and Firefox display a padlock icon to indicate that the website is secure, as it also displays https:// in the address bar.

When a user connects to a website via HTTPS, the website encrypts the session with a digital certificate. A user can tell if they are connected to a secure website if the website URL begins with https:// instead of http://.


The main idea of HTTPS is to create a secure channel over an insecure network. This ensures reasonable protection from eavesdroppers and man-in-the-middle attacks, provided that adequate cipher suites are used and that the server certificate is verified and trusted.

The trust inherent in HTTPS is based on major certificate authorities which come pre-installed in browser software (this is equivalent to saying "I trust certificate authority (e.g. VeriSign/Microsoft/etc.) to tell me who I should trust"). Therefore an HTTPS connection to a website can be trusted if and only ifall of the following are true:
  1. The user trusts that their browser software correctly implements HTTPS with correctly pre-installed certificate authorities.
  2. The user trusts the certificate authority to vouch only for legitimate websites without misleading names.
  3. The website provides a valid certificate (an invalid certificate shows a warning in most browsers), which means it was signed by a trusted authority.
  4. The certificate correctly identifies the website (e.g. visiting https://example and receiving a certificate for "Example Inc." and not anything else [see above]).
  5. Either the intervening hops on the Internet are trustworthy, or the user trusts the protocol's encryption layer (TLS or SSL) is unbreakable by an eavesdropper.

Three Logical Layers in a Web Application:






















Model (Business process layer)
   @ Encapsulate of data and behavior which are independent of presentation
   @ Responsible for actually doing
   @ Performing DB queries
   @ Calculating the business process
   @ Processing orders
   @ Models the data and behavior behind    the business process
View (Presentation layer)
   @ Display information according to client types
   @ Display result of business logic (Model)
   @ Not concerned with how the information was obtained, or from where (it is the responsibility of Model)
Controller (Control layer)
   @ Serves as the logical connection between the user's interaction and the business services on the back
   @ Responsible for making decisions among multiple presentations
   @ A request enters the application through the control layer, it will decide how the request should be   
        handled and what information should be returned















JSP pages are used only for presentation
   @ Control and application logic handled by a servlet (or set of servlets)

Servlets serves as a gatekeeper
   @ Provides common services, such as authentication, authorization, login, error handling, and etc

Servlets serves as a central controller
   @ Act as a state machine or an event dispatcher to decide upon the appropriate logic to handle the  
       request
   @ Performs redirecting