Ethereal-users: RE: [Ethereal-users] retransmission of captured packetes
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: Tue, 5 Jun 2001 21:39:14 -0500
I will attempt to help. -----Original Message----- From: Bernard, Kurt A. [mailto:KABERNARD@xxxxxxxxxxxx] Sent: Tuesday, June 05, 2001 2:40 PM To: 'ethereal-users@xxxxxxxxxxxx' Subject: [Ethereal-users] retransmission of captured packetes Hi, I would like to do some testing with the packets I capture on my network which has multiple segments seperated by routers. But I'm not sure what would happen in the following situations: A. If I put a collection unit on each segment and collect packets for 24 hours, and later retransmit the packets collected, will the routers forward the packets? I assume the following set of test conditions for this test: I would need to reset the time on all routers and synch them to the ms; I would have to synch the times of all the collection/retransmission systems to the routers down to the ms; I would have to throttle transmission rates and coordinate start/stop transmission times. No. You're making life too hard on yourself, in some ways, and forgetting a couple of things. First of all, you wouldn't have to change the routers at all. They don't know anything about the time a packet was forwarded, and there's no such timestamp in the packets themselves. If the packets are built correctly, the routers will forward them. The thing that may get you is this. Only packets that come *from* the subnet where you're capturing (or pass *through* it) will replay in a way you expect. Packets going *to* the subnet where the ethereal box is won't go anywhere, except to the destination host. They're already at the "end". Think of it from a layer *2* perspective and it will make more sense to you. But you won't have to reconfigure any routers at all. You may have to mess with your firewall, if it sits in the data path, but not a router. Second, it sounds like what you want to do is simulate a *connection*, not just a packet stream. That *would* require time synchronization and some other complex things, and you're not going to get that with ethereal. What you need is more like Chariot. See http://www.netiq.com <http://www.netiq.com> and poke around. They have software that can simulate real network traffic. It's expensive though. I figure i'll use something like replay to send the packets again...but that may not be enough...dont know if replay will send at rate packets were received at. Anyone know of another app I can use that does send at the rate received? I tried NG Sniffer but it cant open large files without croaking and I cannot determine if the packets are trasmitted at the rate received or not. Ethereal won't do this (I think), but tcpreplay will do *most* of that. You can specify a data rate at which to send out the packets, up to the limits of what the machine/interface can transmit. With *really* good time synch (and some fast machines), you *might* get tcpreplay to regenerate some streams the way you're looking for. Tcpreplay allows you to specify that the stream should be sent at m times the data rate at which it was recorded. Make m = 1 and you've got it. The trick is getting both endpoints to start at *exactly* the same time. NTP could help you accomplish this, although you'd probably better have two *identical* machines at each end. B. If I upgrade to GIGE on the network and upgrade my collection unit's hardware, can ethereal handle the capture and analysis? Ethereal (and Sniffer, for that matter) is just software. It's capabilities are largely dependent upon the hardware (and drivers) underneath. If your GigE card doesn't support promiscuous mode, for example, you won't get everything (remember that sometimes even unicast frames are flooded to all ports in a switched VLAN). If the driver doesn't pass all of the frame up to Ethereal, some things will be missing. The most common example here is the FCS portion of the frame. Furthermore, depending upon the network load, you'll need a *hell* of a box to record data that fast, and a *LOT* of memory to buffer it all up. A GHz P-III has the processing power and the bus, but what about memory access times? What about hard drive access times (*hideous*)? What about other processes that need CPU time? And on and on... Bottom line: Ethereal can do it, if the hardware can do it. There's nothing about GigE that Ethereal can't handle. Any help or ideas will be greatyly appreciated. Kurt If you're even going to go up past 100Mb of true throughput, I recommend at *least* a 1GHz P-III and 512MB RAM on the capturing box. I have this in my network now. Under Linux's 2.4.x kernel (only! 2.2.x didn't work!) it can handle the load... barely. At that rate packets are flying by at better than 20000pps, so buffer space fills up *quite* *quickly*. I tried with slower machines for a while, but all they did was crash under the load of so many interrupts. --J
- Prev by Date: [Ethereal-users] retransmission of captured packetes
- Next by Date: [Ethereal-users] Reassemble TCP packet by connection.
- Previous by thread: [Ethereal-users] retransmission of captured packetes
- Next by thread: [Ethereal-users] Reassemble TCP packet by connection.
- Index(es):