Ethereal-dev: Re: Re : Re: [Ethereal-dev] particular snoop output
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Gilbert Ramirez <gilbertr@xxxxxxxxx>
Date: Tue, 26 Oct 2004 14:20:57 -0500
That sounds like a challenge to me. It looks like the netscreen dump contains everything from layer 2 and above, so I don't think any of that needs to be sent to text2pcap -- just the link layer, and text2pcap defaults to Ethernet, which it appears you are using. Try this Python script. $ netscreen2dump.py ns-snoop.txt out.txt $ text2pcap out.txt out.pcap $ ethereal out.pcap It works for the sample ns-snoop.txt you sent; if it seems to generally work for you, I can add it to the Ethereal distribution. If you could figure out what the timestamp format is, I might be able to add proper timestamps to the generated hexdump file. -gilbert On Tue, 26 Oct 2004 20:12:04 +0200, netsc@xxxxxxxxxx <netsc@xxxxxxxxxx> wrote: > Gilbert sorry to not post feeback after your suggestion ; thanks for it. > As specified by Graeme, the offset of each line is not included in the text > output from netscreen. Then text2pcap does not reconize any packet in the > text file. Additionaly, even if packet are detected, L2, L3 and L4 have to > be manualy instructed to text2pcap, which is not interresting at all. > > I really need some improvement from netscreen on their "snoop". > > Thanks to all > Florent >
#!/usr/bin/env python """ Converst netscreen snoop hex-dumps to a hex-dump that text2pcap can read. Copyright (c) 2004 by Gilbert Ramirez <gram@xxxxxxxxxxxxxxx> This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version. This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. """ import sys import re class OutputFile: def __init__(self, name): try: self.fh = open(name, "w") except IOError, err: sys.exit(err) def PrintPacket(self, timestamp, datalines): # What do to with the timestamp? I need more data about what # the netscreen timestamp is, then I can generate one for the text file. # print "TS:", timestamp.group("time") offset = 0 for lineno, hexgroup in datalines: hexline = hexgroup.group("hex") hexpairs = hexline.split() print >> self.fh, "%08x %s" % (offset, hexline) offset += len(hexpairs) # Blank line print >> self.fh re_timestamp = re.compile(r"^(?P<time>\d+\.\d): \d+\((?P<io>.)\):") re_hex_line = re.compile(r"(?P<hex>([0-9a-f]{2} ){1,16})\s+(?P<ascii>.){1,16}") def run(input_filename, output_filename): try: ifh = open(input_filename, "r") except IOError, err: sys.exit(err) output_file = OutputFile(output_filename) timestamp = None datalines = [] lineno = 0 for line in ifh.xreadlines(): lineno += 1 if not timestamp: m = re_timestamp.search(line) if m: timestamp = m else: m = re_hex_line.search(line) if m: datalines.append((lineno, m)) else: if datalines: output_file.PrintPacket(timestamp, datalines) timestamp = None datalines = [] if datalines: output_file.PrintPacket(timestamp, datalines) timestamp = None datalines = [] def usage(): print >> sys.stderr, "Usage: netscreen2dump.py netscreen-dump-file new-dump-file" sys.exit(1) def main(): if len(sys.argv) != 3: usage() run(sys.argv[1], sys.argv[2]) if __name__ == "__main__": main()
- References:
- Re: Re : Re: [Ethereal-dev] particular snoop output
- From: Graeme Hewson
- Re: Re : Re: [Ethereal-dev] particular snoop output
- From: netsc
- Re: Re : Re: [Ethereal-dev] particular snoop output
- Prev by Date: Re: [Ethereal-dev] Exception in pdml
- Next by Date: Re: [Ethereal-dev] Exception in pdml
- Previous by thread: Re: Re : Re: [Ethereal-dev] particular snoop output
- Next by thread: [Ethereal-dev] Privilege Seperation for Ethereal
- Index(es):