Wireshark-dev: Re: [Wireshark-dev] Hardware Platform to capture SS7 traffic on TDM lines to Dec
      
      
Varuna De Silva wrote:
Dear friends I am new to the Wireshark community as a developer. As our 
final year project
we will be developing a SS7 protocol Analyzer. Here we will be 
developing the Hardware
Circuitry to tap a physical E1 line. We have used Dallas Maxim E1/DS1 
ICs are being used to
capture the raw data and those data will be ported in to a machine using 
a USB IC from FTDI.
We hope to analyze the raw data we capture through WireShark. The data 
we capture is in the
memory and we can access them via a custom API. We hope to insert these 
data in to pseudo
UDP or TCP packets and analyze through WireShark.
You don't need to do that.  Wireshark can analyze "raw" SS7 packets, for 
a suitable definition of "raw".
To capture SS7 traffic, modify libpcap to handle your hardware.  See, 
for example, pcap-linux.c's pcap_open_live() routine, where the code at 
the beginning of the routine checks whether the name of the capture 
device being opened contains the string "dag" and, if so, calls the open 
routine for an Endace DAG card, or contains the string "septel" and, if 
so, calls the open routine for a Septel card, and check pcap-dag.c and 
pcap-septel.c, which contain code to open DAG or Septel cards and 
capture various forms of traffic from the DAG card, including MTP2 
traffic, or capture MTP2 traffic from the Septel card.
 Also we want to know what is the starting point of dissecting the SS7 
stack in the WireShark
source. We went through the dissectors included in epan especially 
mtp2.c and there onwards
up the stack but our impression is that for our purpose we cant start at 
mtp2.c since we dont
see the Frame Alignment Word of SS7 ' 01111110 ' being handled there, 
subsequent decoding.
Wireshark dissects frames, not bit streams.  It assumes that the capture 
file it's reading contains records corresponding to frames.
Therefore, it assumes that the frame delimiters, and any bit/byte 
stuffing, have already been removed from any protocol that uses HDLC 
framing.
In particular, the MTP2 dissector expects an MTP2 frame *without* the 
frame delimiters, just as it expects, for example, PPP frames without 
the frame delimiters.