Date: Tue, 30 Apr 2002 11:00:56 -0700 From: "Crist J. Clark" <crist.clark@attbi.com> To: freebsd-questions@freebsd.org Subject: tcpdump(8) filtered by time Message-ID: <20020430110056.B55983@blossom.cjclark.org>
next in thread | raw e-mail | index | archive | help
Slightly off-topic, but I'd like see if anyone has any ideas.
I have a tcpdump(8) file that spans a few hours. I want to isolate
an hour somewhere in the middle and dump it to a new file. I can't
figure out how to do this.
I know how to workaround the issue to capture packets for 'x' amount
of time from the begining of the file[0], but I can't come up with a
way to grab packets starting at an offset somewhere past the beginning
(either by time or count).
Anyone have any ideas on how to do this? I guess I'm stuck editing the
binary by hand or making my own tool to mess with the pcap(3) file?
[0] To grab the first 'x' seconds (minutes, whatever), you can first
dump the file and print the packets. Run the printed output through
grep(1), awk(1), perl(1), or filter all but the packets up to the time
you want. Count the number of lines printed with wc(1) (of course,
with awk(1) or perl(1) you can just do the counting in the script
itself), and then use the '-c' argument of tcpdump(1),
$ tcpdump -r big.pcap -c <count> -w timed.pcap
So, the abilty to specify arbitrary ranges of packets by count is
essentially equivalent to being able to do time ranges, but I still
can't figure out how to start at an offset by count.
--
Crist J. Clark | cjclark@alum.mit.edu
| cjclark@jhu.edu
http://people.freebsd.org/~cjc/ | cjc@freebsd.org
To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-questions" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?20020430110056.B55983>
