HTTP Protocol
The web is run on port 80. You are probably wondering what "port 80" is, right (whether you actually are or not is irrelevant)? Well, the answer is easy (not really). See, the Internet and the web are different. The Internet is the infrastructure (ie the physical wires, the server hardware, etc) and the web is the ideas and the software. I say ideas because before the web the Internet was a mess of wires and powerful computers using POP3 and SMTP for communication, FTP for file transfer, and TELNET for remote shell access, among others. Then the web came along, and Internet use spread to the home and all across the world. See, in plain terms, a web server broadcasts HTML to all connected clients on port 80, so port 80 is the "HTTP port." HTTP is the protocol, or set of standards for port 80 and its software. The client software is your browser, (ie probably Internet Explorer but hopefully Firefox), and the server is something like Apache or IIS(uug). This relates to hacking, as you will see later, but first you need to know more about HTTP. (the spaces before the < & > are put in so this isnt thought of as HTML)
< html >
< body >
< img src="image.png" >< br >
< div align="center" >text< /div >
< /body >
< /html >
If Apache is serving that, and Firefox picks it up, It will replace the < img src... etc with the image found at image.png relative to the working directory of the page requested, (ie ./, current dir), and the < div... is turned into text printed in the middle of the page. Since the code is processed from top to bottom, the br means that the browser should skip down one line and start the rest from there. The top two and bottom two lines tell the browser what part of the page it is reading. You migh have noticed the < /div >, the < /body >, etc. They "close" the tag. Tag is a term for anything in s, and they must be opened (ie introduced) and closed (ie < /tag >). If you want to learn HTML tagging, just head over to our close friend Google and do a search.
Since you haven't gotten to the programming section, and currently I have not even wrote it, I will show you a web server example in the simplest form I can think of that will work on any OS you are currently using. So the obvious choice is JAVA:
import java.net.*; import java.io.*; import java.util.*;
public class jhttp extends Thread {
Socket theConnection;
static File docroot;
static String indexfile = "index.html";
public jhttp(Socket s) {
theConnection = s;
}
public static void main(String[] args) {
int thePort;
ServerSocket ss;
// get the Document root
try {
docroot = new File(args[0]);
}
catch (Exception e) {
docroot = new File(".");
}
// set the port to listen on
try {
thePort = Integer.parseInt(args[1]);
if (thePort < 0 || thePort > 65535) thePort = 80;
}
catch (Exception e) {
thePort = 80;
}
try {
ss = new ServerSocket(thePort);
System.out.println("Accepting connections on port "
+ ss.getLocalPort());
System.out.println("Document Root:" + docroot);
while (true) {
jhttp j = new jhttp(ss.accept());
j.start();
}
}
catch (IOException e) {
System.err.println("Server aborted prematurely");
}
}
public void run() {
String method;
String ct;
String version = "";
File theFile;
try {
PrintStream os = new PrintStream(theConnection.getOutputStream());
DataInputStream is = new DataInputStream(theConnection.getInputStream());
String get = is.readLine();
StringTokenizer st = new StringTokenizer(get);
method = st.nextToken();
if (method.equals("GET")) {
String file = st.nextToken();
if (file.endsWith("/")) file += indexfile;
ct = guessContentTypeFromName(file);
if (st.hasMoreTokens()) {
version = st.nextToken();
}
// loop through the rest of the input li
// nes
while ((get = is.readLine()) != null) {
if (get.trim().equals("")) break;
}
try {
theFile = new File(docroot, file.substring(1,file.length()));
FileInputStream fis = new FileInputStream(theFile);
byte[] theData = new byte[(int) theFile.length()];
// need to check the number of bytes rea
// d here
fis.read(theData);
fis.close();
if (version.startsWith("HTTP/")) { // send a MIME header
os.print("HTTP/1.0 200 OKrn");
Date now = new Date();
os.print("Date: " + now + "rn");
os.print("Server: jhttp 1.0rn");
os.print("Content-length: " + theData.length + "rn");
os.print("Content-type: " + ct + "rnrn");
} // end try
// send the file
os.write(theData);
os.close();
} // end try
catch (IOException e) { // can't find the file
if (version.startsWith("HTTP/")) { // send a MIME header
os.print("HTTP/1.0 404 File Not Foundrn");
Date now = new Date();
os.print("Date: " + now + "rn");
os.print("Server: jhttp 1.0rn");
os.print("Content-type: text/html" + "rnrn");
}
os.println("< HTML >< HEAD >< TITLE >File Not Found< /TITLE >< /HEAD >");
os.println("< BODY >< H1 >HTTP Error 404: File Not Found< /H1 >< /BODY >< /HTML >");
os.close();
}
}
else { // method does not equal "GET" if (version.startsWith("HTTP/")) { // send a MIME header os.print("HTTP/1.0 501 Not Implementedrn"); Date now = new Date(); os.print("Date: " + now + "rn"); os.print("Server: jhttp 1.0rn"); os.print("Content-type: text/html" + "rnrn"); }
os.println("< HTML >< HEAD >< TITLE >Not Implemented< /TITLE >"); os.println("< BODY >< H1 >HTTP Error 501: Not Implemented< /H1 >< /BODY >< /HTML >"); os.close(); }
}
catch (IOException e) {
}
try { theConnection.close(); }
catch (IOException e) { }
}
public String guessContentTypeFromName(String name) { if (name.endsWith(".html") || name.endsWith(".htm")) return "text/html"; else if (name.endsWith(".txt") || name.endsWith(".java")) return "text/plain"; else if (name.endsWith(".gif") ) return "image/gif"; else if (name.endsWith(".class") ) return "application/octet-stream"; else if (name.endsWith(".jpg") || name.endsWith(".jpeg")) return "image/jpeg"; else return "text/plain"; }
}
I learned the basics of JAVA web server programming from "JAVA Network Programming" by Elliotte Rusty Harold. Now you don't need to know JAVA to be able to understand that, even though it might not seem like that at first. The important thing to look for when examining the code it the os.print("") commands. There is nothing fancy being used to get the data to the browser, you don't have to mutate the data, its sending plain HTML via a simple command. The plain and simple truth is that the browser is doing the majority of the difficult stuff, when speaking about this simple server. But in complicated servers there is server-side scripting, etc. Webs are much more complicated than just a simple server and Internet Explorer, such as Flash and JAVA Applets (run on clients machine in browser) and server-side stuff like PHP and PEARL (displayed on clients browser as plain HTML but executed as scripting on the server). T
he code above is a good way to learn the HTTP standards, even though the program itself ignores most of the regulations. The web browser not only understands HTML but also knows that incoming connection starting with 404 means that the page is missing, etc. It also knows that when "image/gif" is returned the file is an image of type gif. These are not terms the stupid server made up. They are web standards. Generally speaking, there are two standards. There is the w3 standard (ie the real standard based on the first web servers and browsers) and the Microsoft standard (ie the Internet Explorer, IIS and NT standards). The standards are there so anyone can make a server or client and have it be compatible with (nearly) everything else.
Hiding your Connection
If you have a copy of Visual Basic 6, making a web browser is easy, thanks to Winsock and the code templates included, so I will not put in an example of that. Instead I will explain cool and potentially dangerous things you can do to keep yourself safe. I know those words put together doesn't make sense (ie potentially dangerous and safe), but you will see in a moment. I'm talking about PROXIES. (anonymous proxy servers, to be exact). You connect to the internet on port 80 through the proxy server, thus hiding your real IP. There are many obvious applications for this, but it is also the only really potentially dangerous thing so far, so I will restate what I have written at the top: Whatever you do with this info is your responsibility. I provide information and nothing more. With that said, there is nothing illegal about using an anonymous proxy server as long as it is free and you are harming no one by using it. But if you think you are completely safe using one, you are deadly wrong. They can simply ask the owners of the proxy what your IP is if they really want to find you. If you join a high anonymous server, the chance of them releasing your IP is pretty low for something like stealing music, but if you do something that would actually warrant jail time, they probably will be able to find you. www.publicproxyservers.com is a good site for finding these servers.
The last trick related to web servers and port 80 is a simple one. First, find a free website host that supports PHP and use the following code:
If the address of this file is http://file.com/script.php, to download the latest Fedora DVD you would go to the following address: http://file.com/script.php?destfile=linuxiso.org/download.php/611/FC3-i386-DVD.iso &password=passwd
You can change "passwd" to whatever password you want. This will make any onlookers think you are connected to http://file.com. You are still limited to the speed of your connection, but you are using the bandwidth of the web host
Whatever you do with the above information is solely your responsibility.
Mike Vollmer --- eblivion
http://eblivion.sitesled.com
![]() Google News Updated : Sun, 06 Jul 2008 00:55:15 GMT Argentine Lower House Passes Grain Export-Tax Plan (Update3) - Bloomberg
Bloomberg - By Eliana Raszewski July 5 (Bloomberg) -- Argentina's lower house of congress approved the government's plan to increase taxes on exports of grains and oilseeds, risking a resumption of three months of strikes by farmers. Export Tax That Angers Farmers Advances in Argentina Argentina lawmakers approve farm export tax hike Publ.Date : Sat, 05 Jul 2008 22:41:30 GMT A Side Competition in Beijing: Island vs. Mainland - New York Times
New York Times - The Taiwanese Olympic table tennis team practicing at Kaohsiung. Taiwanese players have hopes of winning medals next month in a sport China has dominated. Taiwan media, business people welcome charter flights, mainland ... South Africa: Country Should Take Heed of Taiwan's Errors Publ.Date : Sat, 05 Jul 2008 16:16:20 GMT Obama mixes holiday and politics in Montana - Reuters
Reuters - By John Whitesides, Political Correspondent BUTTE, Montana (Reuters) - Democrat Barack Obama mixed presidential politics with parades and barbecue on Independence Day on Friday, celebrating his daughter's birthday with a picnic and fireworks in Montana ... Play of the Day: Malia Obama's "best birthday" On the Road: Montana Outtakes Publ.Date : Sat, 05 Jul 2008 20:13:58 GMT Jesse Helms, former senator, conservative icon, dies - Newsday
Newsday - Jesse Helms, the former five-term US senator from North Carolina whose relish for thwarting initiatives he opposed as too liberal earned him the nickname "Senator No," died Friday at age 86. Video: A Look Back At Jesse Helms NC Senator's Hard-Line Conservatism Helped Craft Republican Social ... Publ.Date : Sat, 05 Jul 2008 21:58:21 GMT SAfrica's Mbeki meets Zimbabwe's Mugabe - Reuters Reuters - By MacDonald Dzirutwe HARARE, July 5 (Reuters) - South African President Thabo Mbeki met Zimbabwean President Robert Mugabe on Saturday to try to help end a political crisis after a violent election that extended Mugabe's 28-year rule. Germany's Merkel hopes for African leaders' support on Zimbabwe ... South African president arrives in Zimbabwe Publ.Date : Sat, 05 Jul 2008 23:04:03 GMT California's priority wildfire in check -- for now - Reuters
Reuters - By Jim Christie SAN FRANCISCO, July 5 (Reuters) - Firefighters in California have fended off a blaze threatening more than 3000 homes in and around the coastal town of Goleta and are turning their attention to preventing its spread toward the nearby ... Video: Wind Keeps California Wildfires Raging California's Wildfires Have Scorched 527000 Acres (Update3) Publ.Date : Sat, 05 Jul 2008 22:04:28 GMT France's Sarkozy Questions If ECB Rate Increase `Reasonable' - Bloomberg Bloomberg - By Simon Kennedy July 5 (Bloomberg) -- French President Nicolas Sarkozy recommenced his criticism of the European Central Bank today, asking it was ``reasonable'' for it to have raised the region's key interest rate this past week. Fighting Inflation, Europeans Raise Rate Euro flat after post-ECB dip Publ.Date : Sat, 05 Jul 2008 18:50:48 GMT Web Site Traffic |
PARLOT::Ebooks, Scripts,
Websites, and more... Cookies, not the kind that Mom makes, but the computer... Read More If you have a computer for home use or for... Read More About mail-mergingMail-merging is the process of merging variable data and... Read More Want to save money while promoting your web-based business? Of... Read More I do a holiday letter every year and send them... Read More First things first, what is Firefox? Well, it's a browser.... Read More Most of the web applications have a lot of images... Read More Computers are available in different shapes, sizes and weights, due... Read More With renting methods such as online DVD rental and pay-per-view,... Read More One of the most confusing parts of beginning your Cisco... Read More You don't have to fork out $250 for a super-diggy-whizbang... Read More The best way to get the gaming computer that you... Read More The technological horizon has always got something new to offer,... Read More You have your television and home theater receiver; you just... Read More Viruses, software failures, power failures, human errors, hard drive failures... Read More Not sure what Windows registry is or how it works?... Read More Tech support tells me to type 'regedt32' as opposed to... Read More System File Checker is a great utility that is typically... Read More JVC developed and used a high-performance reflective film to produce... Read More The first step is: Start > My DocumentsSo you have... Read More Flow Text Around a GraphicQuestion: I have inserted a photo... Read More For those seeking to buy their first flat panel TV... Read More Tip #1 -- Rebates: A rebate is not always a... Read More If you are a building a website or a forum,... Read More I met an entrepreneur who hole heartedly disagree with an... Read More
Adsense
websites
COOKIES - What Are They!!
Is DVD Storage An Attractive Alternative For Your Computer Backup?
Mail-merging: The Principles
HTML Explained: Part 1
Printing Multiple Copies of Photos
How to Switch to Firefox and Why You should
How to Save an Image in a SQL Server Database?
Classification of Computers
Is Online DVD Rental or Pay-Per-View the Best Way to Get Your Movies?
Cisco Certification: A Survival Guide To The Cisco Cable Jungle
The Best MP3 Players Under $100
Why Build Your Own Gaming Computer?
Bluetooth Technology: Tips for Buying Headsets or Headphones
How to Place Home Theater Speakers
The Importance Of Email Backup
Registry Tools Demystified
A Tale of Two Regeds
System File Checker - A Maintenance Utility
JVCs First Three-Layer Combo-Disc Blu-Ray / DVD
How to Set Up Simple File Sharing WinXP
Flow Text Around a Graphic in Microsoft Word
Plasma TV vs LCD TV
4 Computer Money-saving Tips
The Benefits of Open Source
Palm PC critique
Computers have replaced typewriters, but two-finger, hunt-and-peck typing can never... Read More
Feeling overwhelmed in selecting a new TV? With all the... Read More
Music lovers have been carrying around radios and other bulky... Read More
In Windows Xp, you can install two operating systems on... Read More
Do you know how many fonts are currently installed on... Read More
Getting started with video editing is very simple you only... Read More
Your Bible At Your FingertipsIt is fairly easy to find... Read More
Understanding digital camera prices makes finding the best camera value... Read More
Peoples' private information needs to stay private, even after it... Read More
This is the third in a series of articles highlighting... Read More
Stop Getting LostOne of the greatest uses for a pocket... Read More
Spyware is the software that collects information about your online... Read More
I got my eyes set on a iPod mini, as... Read More
It's hard enough as it is these days to get... Read More
We all enjoy our favorite screensavers but in the same... Read More
Are you frustrated with your PC?Is it feeling sluggish or... Read More
Tip #1. Do a Google search. Don't be to general... Read More
Those small USB drives have so many names, pocket drives,... Read More
As the web has evolved, so have the methods of... Read More
JVC developed and used a high-performance reflective film to produce... Read More
Apache, MysQL and PHP for Windows could be a nice... Read More
Millions have enjoyed recorded music since 1877 when Thomas Edison... Read More
There are plenty of articles out there about how to... Read More
Yes, it's true. You may have inadvertently invited a spy... Read More
Flash mp3 players come with an exciting array of features,... Read More
Personal Technology |