/\ /^/_ _ __ __ _|^|_ __ ___ / \/ / _` '_ \/ _` | | '_ ` _ \ / /\ / (_| |_) (_| | | | | | | | /_/ \/ \__, .__/\__,_|_|_| |_| |_| |_| Issue 5 (May 16, 2000) ___________________________________________________________________________ The gh0st.net project: http://www.gh0st.net/index.html FireSt0rm homepage: http://www.firest0rm.org/index.html URL of the day: http://www.cs.wisc.edu/condor/index.html All content copyright © 2000 by the individual authors, All Rights Reserved ___________________________________________________________________________ - Editor's Comments - URLs - Readers' Questions - Readers' Comments - Contemporary Telenet I - Ethernet - The Bottom Two Layers - Music Reviews - Future Issues - Credits *********************************************************************** *** Editor's Comments : Kynik *********************************************************************** I'm glad to see that some readers are actually submitting questions and comments. If you send us something, and it's coherent and topical, we'll probably include it in the next issue. If we can't answer a question you have, it's pretty likely that someone reading out there will be able to point you in the right direction. I've also increased the number of songs that are reviewed to 2, just because it looks more competitive that way, and you're not bored with a single choice. We got very lucky on the last issue, as we were posted on HNN on a Friday (which means we'd have exposure for the whole weekend) and the L0pht (pronounced /loft/ dammit!) guys didn't do any updates on it until Wednesday. Ok, so I'm easily amused. We're still looking for interesting articles on damn near everything, so if you'd like to help us out and get read by a thousand or so people, this is how you can do it pretty easily. Also, if you submit something to us, and you'd like to remain anonymous, just indicate this in your email and we won't include your name or address or both. I'd also like to give thanks to my co-editor ajax, who's been very helpful in proofreading and reformatting awkward parts, as well as doing commentary. [ /me blushes. Heh, I remember way back when an old associate first showed me the l0pht homepage. He insisted on calling it "low-fat". I dunno where that extra vowel came from. Did we mention being easily amused? {ajax} ] *********************************************************************** *** Random good URLs : Kynik *********************************************************************** The Open Server Architecture Project: The Win32 solution for Apache http://www.opensa.com/ Lance Spitzner's "Passive Fingerprinting" article http://www.enteract.com/~lspitz/finger.html A 'handmade' crypto challenge http://www.jdueck.org/challenge.html Keep an eye on security incidents, maybe report your own http://www.sans.org/giac.htm An interesting article about cyborgs http://home.fuse.net/mllwyd/cyborgs.html *********************************************************************** *** Readers' Questions *********************************************************************** Lockdown wrote: I'd like to find out more about you ghost net project..is it a vpn, or what? I've also got a few crap articles I could give ya. Cheers, Lee 'Lockdown' Hughes [ Well, technically, it's not 'my' gh0st.net project. It's something I stumbled into, and am starting to get more involved in. The gh0st.net URL is posted at the top of every issue so far, and the most complete information is there. If you have specific questions, you can send them to phatal@gh0st.net - he's the guy running the show and cracking the whip. And as for 'crap articles' - no thanks. The world has enough noise already. Quality articles are acceptable though. {kynik} ] [ And just to pre-answer some questions: gh0st.net is primarily about security research. This is a pretty wide spec, and more than a few things would be considered "in the scope". Among them might be code auditing, VPN setups, capture-the-flag games... basically, if in doing it, we learn a concept about security that we can apply, it counts. Current projects in the pipeline include setting up various VPN implementations (possibly using IPv6), the various open boxes (tulkas, english) that are up for intrusion attempts, probably some others I'm forgetting. Of course, we all have lives too (well, *I* don't, but everyone else claims to), so progress may seem a little slow at times; in fact, I partly wrote this whole description to save phatal from a deluge of email about it - we'd all rather be doing than talking anyway. Not An Official Gh0st Net Statement, but probably close. {ajax} ] ----------------------------------------------------------------------- Jason Holt wrote: Your just intonation article was *great*. It's by far the clearest article I've ever read on the mathematics and actualities of music. I wondered about it for years, and finally worked out the x*2^(n/12) formula on my own - then this article filled in all the gaps. One thing I'm still wondering, though. I've heard that baroque instruments were tuned slightly differently than they are today. Something about even tempering vs. some other kind of tempering. Any idea why that was, or what the differences were? Thanks for a great article. [ Baroque instruments were tuned to just scales. That's why a lot of pieces written before the piano and harpsichord were in one key; or, some say, when they modulated, they still sounded like they were in the old key, lending a different tone to the piece. Hope this answers your question. {ajax} ] *********************************************************************** *** Readers' Comments *********************************************************************** NIBLE wrote: The article on AI Security has good points in preventing some of the root problems on system security. One alteration that we could make to improve performance of inspection would be to assign one host as the trusted inspecting station where all new patches for a domain/cluster would be inspected and tested before installed on other internal systems. This method will accomplish the following: a) Isolate performance degradation of inspecting updates on one host versus all participating hosts. b) Detect possible malicious code prior to installing on all machines thus allowing early isolation. c) Provide a single point for maintaining new methods of inspection versus updating all participating hosts. Although the argument of "How much can you trust this one host?" can be raised, there are some answers. The primary assumption was that the distribution host was trusted. Another approach would be to set up two hosts that both receive the updates, verifying the updates between them for possible infection upon transition, and after all checks have been completed designate one host to be the primary distributor and the other the backup, thus resolving redundancy as well. :-) Regards D' n1bl3 (nible) [ Thanks for your input. Soon I'll be releasing AI security II--don't miss it! A traffic monitor daemon using a backprop neural net is currently in the works. I think it'll be interesting to see if I can train and release a set-weight neural network that's effective in detecting probing and intrusion attempts. I'm confident that article will raise from eyebrows. {Blakboot} ] *********************************************************************** *** Contemporary Telenet I : blakboot *********************************************************************** Introduction ------------- Security awareness and exploitation is a fast game on the Internet. Staying on top, whether it be for intrusion or consultation, requires onerous research; research that never ends. Before I came into this scene, most of my experience came from esoteric networks, BBSing, wardialing spoils, et cetera. Regardless, nothing has sharpened my knowledge and awareness of computer systems more than this vast network of hustle and bustle. If we could look back in in time, what wonders; what system vulnerabilities would we laugh about? If we could step back in time a bit, what things could we get into? What industries never quite caught up with the future, and what would their ignorance allow us to plunder? Please excuse me, I have left out a lot of information for sake of time (our favorite editor wants results), and file size. There will be an article forthcoming that will cover much more on contemporary usage. This is a primer. [ Yeah, working under a pseudo-deadline sucks, eh? Turns out that we're already over my target per-issue size even without this article, but that's ok. I'm confident that this is quality. {kynik} ] Enter Telenet ------------- Telenet, commercially known as Sprintnet, but forever referred to as otherwise, is an X.25 network. Dialups nationwide are still active, and systems still lie sparsely about it. Herein I have provided a working scan script, and some of the spoils from that. - What systems can you find on Telenet? This isn't a definitive list by far, but what I've been: VMS, Primenet, assorted unix clones, Lantronix type deals, arbitrary systems/databases. - How do you get on Telenet? Anyone with basic telecommunications knowledge doesn't have to read this. First, get a terminal emulator. These programs allow you to receive relatively protocol-free data. It's nothing like your damned PPP/SLIP connection; raw data (with the exception of emulation) is displayed from the remote computer. I suggest Telemate, Telix; anything but hyperterminal. For the connection to be possible and coherent, set your baud rate to 1200bps (some dialups support 14.4) and data bits to 7. Most connections to remote computers are 8 bits, although X.25 networks are an exception. You should know that the possible combination of 8 bits is 256; it means that on an 8 bit connection, we can take advantage of 256 characters. Telenet can only send and receive data consisting of one of the 127 bytes, combinations of 7 bits. [ Correct me if I'm wrong here, but won't most modern modems auto-set their baud rate depending on how the dialup handshakes? {kynik} ] [ We'd like to think so. Some old modems don't like to talk to newer ones though. Backwards combatibility. And besides, it can't hurt. {ajax} ] With that said, know that if you want to transfer binary files over Telenet, you have to use the kermit protocol, because zmodem, ymodem, xmodem, etc. are 8 bit protocols. Kermit is a slow bastard and time has blessed us with its death in modern file transfers. My suggestion for transfering files over a 7 bit connection is to use uuencoding (unix to unix encoding). This will break down those extended ascii characters into plaintext, and then all you have to do is uudecode on the remote system. Once you've configured your terminal program with the two specifications above, it's time to connect to Telenet. The toll free Telenet dialup is 1-800-546-2000. [ When dialed from some area codes, you may receive a message saying "You have entered a number that can not be reached within your calling area." then a unique number code, in my case "47530" I don't exactly know what the numbers there stand for, but it is interesting that it looks quite like a zip code :-/ {Reverse Corruption} ] Once you've connected, press enter two times; it will ask you for what type of terminal to use. Just type in D1, vt100, whatever. From here, you've a @ prompt. To get your local dialup, type "mail". It'll enter a login procedure. Use the login/password: phones/phones; this will execute a script which allows you to list all local dialups. - Connecting to computers This is easy, and the article shouldn't cover it, although I'm going to get past it, and open up into more dynamic aspects of the network in Contemporary Telenet II. From the @ prompt, you can connect to systems hosted by sprintnet, and other X.25 networks. To connect to a system on the current network, just type the NUA (Network User Address); if you want to connect to a computer on another network, you'll have to provide a DNIC. (Data Network Idenification Code). An NUA consists of two things. An NPA (area code) and an address, which can be any floating point number greater than 1 (there's a limit - that i do not know). Decimal places of an NUA usually indicate something similar to ports in TCP/IP. So, if I wanted to connect to a system in Tallahassee, FL. An example session would be something like: @ c 90423 904 23 CONNECTED Username: To disconnect from the system or interrupt a pending connection, press @ followed by a carriage return; complete the disconnect by typing D from your pad. Now, if you wanted to connect to a system on Tymnet (another X.25 network), you would type an NUA something like: @ c 0310690423 Where 03106 is your DNIC, 904 the area code, 23 the address. Easy pie. Here's the NUA scanner script. It's for Telemate (IMO, one of the best emulators), and you need TMS.EXE, the script compiler. I also highly recommend this scripting language; I learned it in under 30min and it's quite useful, taking the hassle out of communication routines. The scanner works well on my dialup, though I suspect the different nodes sometimes will act strangely; causing the scanner to get off beat. That's just speculation though; I believe I'd gotten all the bugs out. it's sensitive and will reconnect to telenet with the smallest signs of what it suspects as a frozen node; and so, sometimes it disconnects unnecessarily. Please excuse that. Otherwise, it's sleek and records connections better than the old NUA Attacker program by Docter Dissector, which was good, but somewhere along the line Telenet return messages may have changed, causing NUAA to record unwanted connection attempts. If I remember correctly, it would record network congestion (which you will get frequently these days). ; NUA SCANNER v1.0 : TMscript ; Compiled & tested w/ Telemate v4.20 ; Blakboot [FS] '00 ; BUG: ; Only in applied scan mode, it doesn't increment the NUA ; when the pad freezes on a pending connection. integer nua,dialtelenet,t1,t2,cw,npa,max,pending,float,c,aspm,odata,obaud string telenet,past,present,tmp1,tmp2,filename,i ; ---- configuration ---- filename = "C:\TERMINAL\SCAN\N.TXT"; Full path telenet = "1-800-546-2000" ; You can add any prefixes you want npa = 305 ; Area code and nua = 22 ; NUA to scan max = 1000 ; NUA to stop at cw = 10 ; Time in seconds to wait for connect aspm = 0 ; Applied Scan Mode [1/0] ;------------------------- procedure esc inputch i if success if i="^[" print "^M^MTerminating scan." close put "@" put "hang" hangup set baud,obaud set data,odata stop endif endif endproc query data,odata query baud,obaud set baud,1200 set data,7 put "ats11=40" delay 5 clear text print "Press escape at any time to terminate the scan." print "Opening NUA log file: ",filename append filename if not success print "Error opening ",filename,"^MTerminating script." stop endif date tmp2 time past strset tmp1,"-",1,79 write write "Scan session started on ",tmp2,", ",past if aspm write "* Applied Scanning." endif write "NPA/NUA: ",npa,nua," - ", npa,max write tmp1 print "Dialing Telenet..." repeat repeat dialtelenet=0 put "atdt",telenet time past prob=0 while not connected esc time present substr present,4,5,tmp1 substr past,4,5,tmp2 atoi tmp1,t1 atoi tmp2,t2 waitfor "busy","no carrier","voice",1 if found prob=1 exit endif if (t1-t2)>= 2 prob=1 exit endif endwhile if prob print "^M^MRedialing..." put "^M~~" endif until not prob delay 20 put "^M^MD1" delay 20 clear com repeat esc itoa npa,tmp1 itoa nua,tmp2 concat tmp1,tmp2 clear com if c concat tmp1, "." itoa float, tmp2 concat tmp1, tmp2 endif put tmp1 waitfor " connected","not","dis","81","00","BB","D4",cw if not found clear com put "@" waitfor "telenet","@",5 if not found dialtelenet=1 errmsg="Node froze." exit else clear com put "d" waitfor "@",10 if not found dialtelenet=1 errmsg="Node froze when trying to abort." exit endif endif else clear com switch found case 1: clear com if c write " ", endif write tmp1 close append filename delay 10 put "@" put "d" if aspm if not c float=0 cw=cw+10 c=1 endif endif waitfor "disconnected",5 case 5: endswitch if not found=1 ; if not connected waitfor "@",5 endif clear com if not found ; found could = "@", dialtelenet=1 t1=nua if c nua=nua+float endif print "PENDING: ",pending," NUA: ",nua," T1: ",t1 if pending=nua nua=nua+1 else pending=nua endif nua=t1 errmsg="Node froze when pending another connection" exit endif clear com endif if c if float=9 c=0 cw=cw-10 nua=nua+1 float=0 else float=float+1 endif else nua=nua+1 endif until nua>max print errmsg print "Reconnecting to Telenet..." hangup until not dialtelenet ; [SNIP--end of code] Here are some scan results. No commenting 'cus I was lazy; this is basically just some spoil I'm grabbing out of my archive. These are not very old. Maybe a few months. NPA/NUA: 30556 - 3051000 ------------------------------------------------------------------------------- 30559 30559.1 30559.2 30559.3 30559.4 30559.5 30559.6 30559.7 30559.8 30559.9 NPA/NUA: 7160 - 7167000 ------------------------------------------------------------------------------- 71623 71623.1 71623.2 71623.3 71623.4 71623.5 71623.6 71623.7 71623.8 71623.9 71625 71625.1 71625.2 71625.3 71625.4 71625.5 71625.6 71625.7 71625.8 71625.9 *********************************************************************** *** Ethernet - The Bottom Two Layers : bobtfish *********************************************************************** There are lots and lots of articles about TCP/IP, how it works and how to hack it, however there is very little information (for the poor hacker who cannot afford text books) about actual ethernet itself, where it came from and how it works. I hope to go some way to correct that in this article. Using the OSI (Open Systems Interconnection) networking reference model ethernet takes the bottom two layers, the data link layer and the physical layer. I intend to talk about both of these layers in detail however first I will give a brief introduction to the ethernet system. Introduction ------------ Ethernet was invented by Xerox, DEC and Intel. It grew from a system researched ar Xerox PARC (Where such things as mice and GUIs came from) where they built a 2.94Mbps system. (Mbps = Million bits per second) This system was the son of a system called ALOHA constructed to allow radio communication between the Hawaiian Islands. [ The great thing was, this was rounded up to 3Mbps for marketing. Some people objected to a roundoff error greater than the entire bandwidth of ARPANET at the time... {ajax} ] Ethernet is sometimes called IEEE 802.3 however this is wrong. IEEE 802.3 is *very* similar to actual ethernet except 802.3 describes a whole slew of systems running from 1-10Mbps on various media (more than ethernet) and a field in the packet header is differs between ethernet and 802.3. Now, you're thinking, there is an 802.3, but what happened to 802.1 and 802.2? Well, 802.1 is an introduction to the 802 standards and defines a set of primitives and 802.2 describes the upper part of the data link layer (which we don't give a toss about right now). Additional info ref #1 Ok, back to ethernet then. Ethernet is a CSMA/CD protocol, which stands for Carrier Sense Multiple Access with Collision Detection. Don't worry, I didn't understand it first time either so I'll run through it bit by bit: Carrier Sense - The system looks at the cable to see if anything is transmitting before it does. (So that two machines are not trying to send data down the same wire at the same time.) Multiple Access - Multiple machines can access the same communication channel to send data. Ergo there is only one set of wires no matter how many machines you have. Collision Detection - If a station is transmitting and two stations are waiting then when the first station stops they will both try to transmit at once, meaning the data will be garbled. Collision detection means they detect this and sort it out somehow. (More on this later) Note that Ethernet does *not* guarantee reliable delivery of the data - even if it is sent correctly without problems the receiving machine may be so loaded that it does not have spare buffers to put the data in so it may be erased. Types of ethernet - The boring stuff. ------------------------------------- Since Ethernet refers to the 'ether' ie the medium the signal passes through we may as well start our discussion on cables. Name Cable Max segment Nodes/seg Comments ------------------------------------------------------------------------- 10Base5 Thick coax 500m 100 Old - Not used 10Base2 Thin coax 200m 30 Cheap 10BaseT Twisted Pair 100m 1024 Standard 10BaseF Fibre 2000m 1024 Building<>Building 100BaseTX Twisted Pair 100m 1024 Fast 100BaseFX Fibre 2000m 1024 Expensive I will deal with these in order in the table. 10base5 is the oldest (and obsolete in anywhere but the poorest universities). It is called thick ethernet because it is yellow and resembles a garden hose with markings every 2.5 meters. (The 802.3 standard suggests the cable should be yellow but does not require it ;) ) Connections are made using vampire taps in which a pin is forced 1/2 way into the core which are then connected to a transceiver. This transceiver invariably connects to the host computer using AUI which if you see it on a hub or network card look like parallel ports (D shaped connector) 10base2 is known as thin ethernet and in contrast to 10base5 bends easily. Connections are made using BNC type connectors to form T junctions in the cable. Thin ethernet is MUCH cheaper and easier to install than 10base5 but can only run 200 meters and can handle only 30 machines per segment. Both of these systems have a big problem: any bad connection, wonky BNC connector or cable break will cause the entire network to fall apart. The only reliable way to find these breaks is to pull out each cable and T-piece and replace them one by one (which means quite a long network downtime with 30 machines) or to use an expensive machine called a 'time domain reflectometer' which injects a specially shaped pulse into the cable and waits for it to echo back (the echo is caused by the fault). This allows the fault to be pin-pointed. The phreaks amongst you will know that a time domain reflectometer can also tell you if someone is tapping your phone. Well, before it gets to the exchange that is... These types of problems prompted the development of 10baseT which uses a different kind of wiring pattern with every machine going to a central hub which receives and re-transmits the signals to every other connected station meaning that a cable break will disable one machine, not the whole network. A large hub for many stations costs a lot of money but it means that adding or removing a station can be done without halting the network. Another option is 10BaseF which uses fibre optics. This is expensive due to the cost of fibre and the connectors and terminators but has excellent noise (and tempest) immunity and is the connection of choice for low speed links between buildings. [ There are sub-standards 10BaseFB, for inter-repeater links, and 10BaseFL, for links to workstations. As far as I can tell, this was done simply to aggravate people. You may also run into an older standard called Fiber Optic Inter-Repeater Link, or FOIRL. If so, good luck to you. {ajax} ] A quick note about repeaters - 10base5, 10base2 and 10baseT all have quite small maximum segment lengths so to allow larger networks segments can be connected with repeaters. These are a physical layer device which take the signal, amplify it and send it on its way. As far as the network is concerned there is no difference (other than electronic delay introduced by the repeater) A network can contain as many segments and repeaters as required as long as no two machines are > 2.5km apart and no path between two machines has more than 4 repeaters. (Why these restrictions are present will be discussed later.) 100baseTX is now quickly becoming the standard for new installations and is almost the same as 10baseT technically. (coax cables were dropped due to the overwhelming advantages of a hub-based design) Another good feature for the network engineer is that the same wires are used for the same thing meaning you don't need different cables. (However some poor-quality cables that work at 10Mb/s will not work at 100Mb/s. A coding scheme called 4B5B is used at 125MHz with 5 clock periods transmitting 4 bits of data. 100baseFX uses two strands of multimode fibre, one for each direction and has the same advantages discussed with 10baseF. This is all this paper will say about fast ethernet. Readers are referred to ref #2 if interested. Manchester encoding - The interesting stuff ------------------------------------------- Ethernet does not use straight binary encoding with 0 volts for 0 and 5 volts for 1 as it would lead to ambiguities because stations would not be able to tell the difference between an idle sender (0 volts) and a zero bit (0 volts). What is needed is a system that lets receivers tell the start, middle and end of each bit with no reference to an external clock. A system called manchester encoding is used where binary 1 is sent by having the voltage high during the 1st half of the bit and low during the second. A binary 0 is sent as a low during the first 1/2 of the bit and a high during the second. This means every bit has a transition in the middle making it easier for the receiver to synchronize with the sender. The disadvantage of Manchester encoding is it requires twice as much bandwidth as straight binary encoding because the pulses are 1/2 the width. It is shown below: Bit stream: 1 0 0 0 0 1 0 1 1 1 1 Binary : --________--__-------- Manchester: -__-_-_-_--__--_-_-_-_ [ Hey bobtfish - did Manchester encoding actually come from Manchester in the UK, or was it arbitrarily named? {kynik} ] The high signal in ethernet is +0.85V and the low signal is -0.85V. This gives a DC value of 0V. The MAC sublayer protocol - The really interesting bit. ------------------------------------------------------- Bytes: 7 1 6 6 2 0-1500 0-46 4 |Preamble| |Destination| Source | | Data | Pad | Checksum | | | | address |address | | | | | Each frame starts with a preamble of 7 bytes, each containing the bit pattern 10101010. This, when manchester encoded produces a 10MHz square wave for 5.6usec to allow the receiver's clock to synchronize to the transmitter's. Next comes a start of frame byte containing 10101011. The source and destination addresses come next. The address containing all 1 bits is reserved for broadcast which is delivered to all stations on the network. The minimum frame length is 64 bytes, from destination address to checksum and so if the data is less than 46 bytes then the pad field is used to pad the data to 64 bytes. This stops a station that is transmitting a short frame from completing before the first bit has reached the other end of the cable, where it may collide with another frame. (Remember we can have 2.5km of cable and 4 repeaters in there - quite a large delay). If a station detects a collision (by sensing more power on the cable than it is putting out) then is aborts its transmission and transmits 48bits of noise to warn all the other stations. It then waits a random amount of time before sensing the cable to try and transmit again. If the frame was too short then if a collision occurs the sender could conclude that it was successful as the noise burst does not get back before it has stopped transmitting. As network speed increases the minimum frame length must go up or the maximum cable length must come down. For a 1Gbps LAN the minimum frame size would be 6400bytes with a 2.5Km maximum distance. This is called the long fat pipe problem. (Which if you do any studies of high-speed communication you will come across quite often) The final field is called the checksum. It is a 32bit hash code of the data using a cyclic redundancy check. If some of the data is wrong then the checksum will almost certainly be wrong. Binary Exponential Backoff (And other things with no amusing acronym) --------------------------------------------------------------------- We now know how ethernet stops two machines transmitting at the same time, however how does it arbitrate between them? Well since there is no designated 'master' machine, (which is why receivers have to synchronize their clock to the sender - there is no master clock), the two stations must perform this arbitration between themselves. After a collision stations divide time up into discrete slots of length 512 bit times, or 51.2usec. After the first collision, each station waits either 0 or 1 slot times before trying to transmit again. If they collide again each station picks 0, 1, 2 or 3 at random and waits that number of slot times. If a third collision occurs then the next time the number of slots to wait is chosen at random from 0 to (2^3)-1. This random time is increased exponentially until ten collisions have happened, at this point the randomization is stopped at a maximum of 1023 slots. After 16 collisions the controller gives up, goes for a beer and reports failure to transmit. [ Ethernet beer? Sounds like an IPO! ;) {kynik} ] This is called binary exponential back off (and has with and without beer options ;) ) and was chosen to dynamically adapt to the number of stations trying to send. If the randomization interval was fixed at 1023 the chance of 2 stations colliding a second time would be greatly reduced but the average delay would be 100s of slots. However if each station always delayed 0 or 1 slots then if 100 stations were waiting to transmit then they would collide until 99 picked 0 and 1 picked 1 or vice versa.. By having the random time grow exponentially the system gets the lowest delay at low load but enables the collision to be resolved when lots of stations want to transmit. Switching --------- As you add more stations to an Ethernet the traffic (naturally) goes up. Eventually the system will saturate (And with lots of machines waiting to send efficiency goes down the toilet). There are a number of ways to resolve this. First one could increase the speed of the LAN. (ie rip out all the 10BaseT cards and put 100BaseT cards in) however this is not necessarily practical. Another route to go is to segment groups of machines that communicate a lot onto different physical networks and use a bridge or router to connect them. The way we will look at here is a switch. A switch is like a hub except that it has inside it a microprocessor and a very fast internal bus. When a station sends a frame the switch checks where it is destined for and copies it across its internal bus then sends it out to the other station. If the internal bus is busy then the switch buffers the packet in internal ram and then forwards it when the bus is available. This means that (since the internal bus is many times faster than the ethernet) you can theoretically get an aggregate bandwidth of number of stations * speed of network. This is because each port forms it's own collision domain. This also gives that added advantage that full-duplex operation can be supported. (ie A station, if its ethernet card supports it, can be both transmitting and recieving a frame at the same time) However, if all stations on the switch are trying to contend to send to one particular station there can be problems. If one machine is a server and the rest are clients, all of which are making requests (Using all the 10Mb/s bandwidth on their port) then you have an aggregate of 120Mb/s (on a 12 port switch) which can never get through. How a switch handles this situation is manufacturer dependent. Nowadays a common item is a switch with one or two 100baseT ports and 10 or so 10baseT ports. This goes some way to solve the above problem as few workstations need more than 10Mb/s however a server can easily use 100Mb/s to serve it's clients.. So with 10 clients at 10Mb/s and a server at 100Mb/s then each client can get a full (and both ways) 10Mb/s of throughput. And you can happily boot over the network and run all your X applications on the remote machine at 10Mb/s. (Ok I wouldn't like to try remote Quake 3... But hey...) Another advantage of a switch (to a network administrator) and disadvantage (to a black-hat) is that any machine connected to the switch will only see traffic destined for that machine. That is, an ethernet sniffer will catch no more than local users accounts and passwords. [ Not entirely true. Most switches have a MAC (ethernet) address table in internal memory, with possibly multiple MAC addresses associated with a single port. Some switches will forget MAC addresses after a period of inactivity. Occasionally, a host will have the MAC address of another host in its ARP cache, but since the switch no longer knows what port the destination host is on, it will be forced to broadcast the packet. Oops. Of course, some switches are even smarter and have their own MAC address, and can do ARP queries for machines they forget about. Not a major problem, but don't trust switches to protect you from sniffing; besides all this, some are just buggy. {ajax} ] End notes --------- I hope this article has given you a few clues about how Ethernet actually works if you didn't know already, and even if you did it might have told you some interesting history, but maybe not. Just a couple of (well 4) quick notes: 1) When transmitting IP over ethernet there is a system called arp for matching IP addresses and physical network addresses. (Look in /proc/net/arp under linux I believe for the arp of the rest of your network or ifconfig for that of your ethernet adaptor.) 2) Ethernet hardware addresses are meant to be unique - I know of multiple instances of people having 2 cards with the same address. 3) Microsoft Office products embed your hardware address in documents. This is a pretty unique identifier. (And how they got the dude who wrote Melissa). Get vi now. 4) Microsoft Windows 95 (I believe but I'm not sure - its one of them) is dumb. If you make an ethernet packet addressed to FFFFFFFFFFFF (broadcast) but with the station's IP address then it will accept it as arriving at the station's IP address, not by broadcast. (This would work for any ethernet address but the hardware in the ethernet card filters out packets not for the machine or broadcast.) References ---------- #1 - Stallings, W - Local and Metropolitan Area Networks. 4th Ed. Macmillan 1993 #2 - Johnson, H. W. - Fast Ethernet-Dawn of a new network, Prentice Hall 1996 *********************************************************************** *** Music Reviews : kynik, bobtfish, ajax, orbitz *********************************************************************** We have two songs this issue from fairly different genres. The first is "One Day" by the Pinkerton Thugs. They can be found online at: http://www.pinkertonthugs.org/ BobtFish's review ----------------- Originality - 2 Talent - 4.5 Production - 4 I like it - 3.5 What can I say about this song, it's a 1:56 long, speedy punk song about hating the world with a dodgy sample at the start. However whilst it isn't anything that ground breaking here it is a good song, the riffs are solid and the drumming is interesting. The vocals are good and appropriate and you can hear all the parts individually so it's reasonably well mixed. The thing that I really liked about this song is it's catchy, very catchy, makes you want to bounce out the house and throw bricks through the neighbors' windows :) Which is what good punk is all about. I don't think I'd run out and buy an album by these guys, or even be able to listen to an album all the way through, but as a single song I rather enjoy it and would probably dance to it if I heard it in a club and was stood up. Kynik's Review -------------- Originality - 2.5 Talent - 3 Production - 4.5 I Like It - 4 I'll admit, I'm a big punk fan, and this song makes me yearn for the days of oldschool hardcore. Straightforward, to the point, and undoubtedly punk. Unfortunately this particular song is a bit bland, even for punk. The vocals are good, and it sounds like the singer (unlike many punk bands) might actually have the ability to sing if he wanted to. I would have brought the level of the bass guitar up a bit (being a bassist, I want to be able to hear it) and the drums down just a touch. Nothing new here, but good punk if you like punk. ajax's Review -------------- Originality - 1.5 Talent - 4 Production - 4.5 I Like It - 3 Here's the thing about punk rock: there's very little room for creativity. Watch, I shall demonstrate. The verse and instrumental bits consist of a I-V-vi-IV chord progression. The chorus runs "Your so-called order amounts to inequality / One day, we'll make the bastards pay / Oi!". The chorus goes iii-IV-V-I. It runs for one minute and fifty-six seconds. See? You now know exactly what this song sounds like. Maybe I'm disillusioned, but punk still hasn't changed the world, and neither have punk rock kids. To its credit, the song sounds very well produced, and the band sounds tight and doesn't drag for a second. Punk's got its place, and every once in a while I enjoy it. Every once in a while I like hip-hop, too. And while I'd certainly see these guys live - I'd like to know what the rhythm guy is using for his distortion, nice and crunchy - I can't see myself spending money for punk CDs. I like a little creativity in my guitar rock, and most of this "revolutionary", idealistic punk sounds like a broken record. I'm amazed the groove hasn't worn through yet. The other is "Preacher" by My Ruin. My Ruin's homepage is unsurprisingly at: http://www.myruin.com/ ajax's Review -------------- Originality - 3.5 Talent - 4 Production - 3.5 I Like It - 4 Okay, so I'm biased in favor of female vocalists. Sue me. This song is downright creepy, while still rocking. The rhythm guitar line is not terribly original, but the lead makes up for it by being un-obvious, and the bass counterpoints it well. The singer's got a better-than-decent voice; it's a shame she hides it behind that stereo chorus effect. Maybe if she turned the intensity down a notch, the difference between the right and left is a little harsh. Of course, I only listened to it in headphones, so this probably isn't a problem. The drummer, on the other hand, sounds like he's kicking a cereal box, and the snare drum sounds basically the same but with more reverb. A shame, since it makes him sound terribly untalented, and the treble on the drums takes sonic space away from the vocals. Overall, though, turn up the bass and scare your neighbors. Kynik's Review -------------- Originality - 3.5 Talent - 3 Production - 3 I Like It - 4 This is a pretty decent song. I thought at first it was something new by the Genitorturers, as the sounds are VERY close. (I'm actually not sure who came first, My Ruin or Genitorturers) If you like one, you'll probably like the other. I'm a fan of female-fronted rock bands (ask any of my friends) and while I like this one, I'm not really impressed as much as I have been before. I tend to go for more extreme vocal ranges, such as very pure almost operatic singing to screaming or screeching. While the singer does hit on both of those, it's not used to its fullest "wake up boy!" potential. It's good guitar-driven industrial-ish music, and with a better producer (the mix was weak at times) this song would have a bigger public appeal. Orbitz's review ----------------- Originality - 4 Talent - 3.5 Production - 4 I Like It - 1 I did not care much for this song. Hence the 1.0 on 'I Like It'. I thought the opening bass was pretty nice. I am not much into goth type music. Talent got a 3.5 because I did not much care for the lyrics but I liked the opening bass a lot so the song got points for that. Tune sounded like it was mixed together pretty good. Originality is up because I haven't heard much music like that. Overall I did not like this song and found the lyrics to be weak. Overall Rating, "One Day" ------------------------- Originality - 2.00 Talent - 3.83 Production - 4.33 I Like It - 3.50 Total - 13.67/20.00 (68.35%) Overall Rating, "Preacher" ------------------------- Originality - 3.67 Talent - 3.50 Production - 3.50 I Like It - 3.00 Total - 13.67/20.00 (68.35%) [ I swear I did not plan for that tie to happen. {kynik} ] *********************************************************************** *** Future Issues *********************************************************************** Contemporary Telenet II *********************************************************************** *** Credits *********************************************************************** Editor: Kynik Co-Editor: ajax Article Contributions: Blakboot bobtfish Music Reviews: orbitz Commentary: revcorrupt *********************************************************************** *** Subscription *********************************************************************** To subscribe to this 'zine: Email napalm@firest0rm.org with a subject of SUBSCRIBE To unsubscribe: Email napalm@firest0rm.org with a subject of UNSUBSCRIBE or find us online at: http://napalm.firest0rm.org/ Submissions, questions, comments, and constructive chaos may also be directed to kynik@firest0rm.org or any of the contributors ***********************************************************************