Ethereal-users: RE: [Ethereal-users] Truly infinite capture
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: "McNutt, Justin M." <McNuttJ@xxxxxxxxxxxx>
Date: Sun, 3 Dec 2000 11:14:23 -0600
> I.e., you want all of Ethereal except for the part that dissects > packets? :-) Not exactly. I want all of Ethereal, but once it has dissected a packet, I want it to keep the analysis in a counter and throw away the actual packet. Therefore, the capture can run almost infinitely (to the limit of the counter, which would need to be a 32-bit counter in my case). The reason is this: I have a fast, highly-utilized connection (the connection from MU to the Internet). It puts about 2.7 million packets through this link every five minutes. Now there's NO WAY I'm going to be able to capture that much data, but if I could get a breakdown of what was IN those packets at some level, that would be incredibly useful. E.g.: ICMP: 10,514 (0.1%) HTTP: 1,302,351 (55.2%) DNS: 25,124 (0.2%) Other TCP: 401,415 (4.2%) ...etc. In this case, I don't want to know what the URL was, or what name was looked up, or even the src/dst IP addresses. I just want to know what *kind* of packets went through the link and how many. If the majority is HTTP, I can justify buying a Web caching server and setting up a transparent proxy. However, if it's all FTP, I need to find out where it's coming from (usually somebody's hacked RedHat 6.1 vanilla install). > That might be a useful program, but I'm not sure it needs to > be part of > Ethereal; the statistics shown in the capture window are - quite > intentionally - fairly limited (the idea is that you don't want to do > any dissection past the transport layer while you're > capturing, as doing > more dissection work to figure out the protocols used *above* the > transport layer could significantly increase the CPU requirements), so > it's not clear how much of Ethereal's code would actually be useful. Just to the TCP/UDP port number, which implicitly gives you the higher-level protocol (port 80 = HTTP, port 25 = SMTP). In this case, we can trust the port number since the number of things masquerading on a port are going to be the insignificant minority of traffic (and could be listed as a limitation of the stats-only mode). > A more detailed breakdown, showing how much of the traffic > was HTTP and > how much was NFS and how much was SMTP and so on, might be useful, and > (especially if it does *all* the analysis that Ethereal does, > including > the heuristic tests, watching traffic for protocol A to see if it's > saying that a subsequent connection will be using protocol B, > etc.), and > *would* use the Ethereal dissection code, but I'm not certain > you'd want > that by default during a regular Ethereal capture. No, you certainly wouldn't want it by default. It would have to be a checkbox that said something like "Statistics Only", and a tab in the preferences window that allowed you to pick and choose the protocols you wanted to watch for. Then if a user selects a layer 7 protocol, a warning could come up when you click OK that says, "You're asking for it, buddy." After that, Ethereal should forgo the heuristics and connection-level analysis that it usually does and simply take each packet and say, "Which counters need to be incremented?", increment them, and then toss the packet into the bit bucket. Of course, the stats window would need to persist after you click Stop so you could write down/store your totals. Click once to Stop, change Stop button to Close. Click again to destroy the window. In fact, that might be useful for every capture (perhaps as a selectable option... "Stats window persists" (checkbox)). Personally, I'd go GET a machine with more CPU to throw at this if that were the problem, but that's just me. I have the luxury of a 1GHz P-III. Would that be enough horsepower to try this out, perhaps on a slower connection first, and then on the real McCoy? --J P.S. I'd be happy to help write this code myself, but I'll need a little help getting started. It's been years since I wrote C (although I've been writing a lot of Perl lately, which helps).
- Follow-Ups:
- Re: [Ethereal-users] Truly infinite capture
- From: Nathan Neulinger
- RE: [Ethereal-users] Truly infinite capture
- From: Gerald Combs
- Re: [Ethereal-users] Truly infinite capture
- Prev by Date: RE: [Ethereal-users] PPP Throughput
- Next by Date: RE: [Ethereal-users] help with filter syntax
- Previous by thread: RE: [Ethereal-users] PPP Throughput
- Next by thread: Re: [Ethereal-users] Truly infinite capture
- Index(es):