|
From: <xb...@us...> - 2013-02-14 08:42:48
|
Revision: 1575
http://scstudio.svn.sourceforge.net/scstudio/?rev=1575&view=rev
Author: xborza
Date: 2013-02-14 08:42:36 +0000 (Thu, 14 Feb 2013)
Log Message:
-----------
pcap help + RTP filter fix
Modified Paths:
--------------
trunk/doc/help/CMakeLists.txt
trunk/doc/help/menu.htm
trunk/doc/help/menui.htm
trunk/src/data/pcap/flow.cpp
trunk/src/view/visio/addon/pcapSettingGDlg.h
Added Paths:
-----------
trunk/doc/help/pcap/
trunk/doc/help/pcap/pcap.body.htm
trunk/doc/help/pcap/pcap.head.htm
trunk/doc/help/pcap/pictures/
trunk/doc/help/pcap/pictures/all_flow.png
trunk/doc/help/pcap/pictures/arp_without_aggreg.png
trunk/doc/help/pcap/pictures/continuous_bw.png
trunk/doc/help/pcap/pictures/continuous_ow.png
trunk/doc/help/pcap/pictures/http_clear.png
trunk/doc/help/pcap/pictures/http_parts.png
trunk/doc/help/pcap/pictures/http_reassembly.png
trunk/doc/help/pcap/pictures/lst_flow.png
trunk/doc/help/pcap/pictures/no_flow.png
trunk/doc/help/pcap/pictures/pcap_advanced_dialog.png
trunk/doc/help/pcap/pictures/pcap_aggreg_dialog.png
trunk/doc/help/pcap/pictures/pcap_general_dialog.png
trunk/doc/help/pcap/pictures/pcap_view_dialog.png
trunk/doc/help/pcap/pictures/time_flow.png
Modified: trunk/doc/help/CMakeLists.txt
===================================================================
--- trunk/doc/help/CMakeLists.txt 2013-02-13 22:38:30 UTC (rev 1574)
+++ trunk/doc/help/CMakeLists.txt 2013-02-14 08:42:36 UTC (rev 1575)
@@ -11,6 +11,7 @@
set( iHTML_FILES
acyclic/acyclic.html
beautify/beautify.html
+ pcap/pcap.html
boundedness/boundedness.html
deadlock/deadlock.html
fifo/fifo.html
Modified: trunk/doc/help/menu.htm
===================================================================
--- trunk/doc/help/menu.htm 2013-02-13 22:38:30 UTC (rev 1574)
+++ trunk/doc/help/menu.htm 2013-02-14 08:42:36 UTC (rev 1575)
@@ -90,7 +90,15 @@
</li>
</ul>
</li>
- <li>
+ <li>
+ Import and Export
+ <ul>
+ <li>
+ <a href="pcap/pcap.html">Pcap</a>
+ </li>
+ </ul>
+ </li>
+ <li>
Examples
<ul>
<li>
Modified: trunk/doc/help/menui.htm
===================================================================
--- trunk/doc/help/menui.htm 2013-02-13 22:38:30 UTC (rev 1574)
+++ trunk/doc/help/menui.htm 2013-02-14 08:42:36 UTC (rev 1575)
@@ -90,6 +90,14 @@
</li>
</ul>
</li>
+ <li>
+ Import and export
+ <ul>
+ <li>
+ <a href="../pcap/pcap.html">Pcap</a>
+ </li>
+ </ul>
+ </li>
<li>
Examples
<ul>
Added: trunk/doc/help/pcap/pcap.body.htm
===================================================================
--- trunk/doc/help/pcap/pcap.body.htm (rev 0)
+++ trunk/doc/help/pcap/pcap.body.htm 2013-02-14 08:42:36 UTC (rev 1575)
@@ -0,0 +1,255 @@
+<div class="content">
+ <h2>
+ Pcap
+ </h2>
+ <p>
+ The main aim of this function is to import <code>".pcap"</code> files and visualize them as BMSC diagrams. It
+ is accessible via menu <code>Check -> Drawing -> Import...</code>
+ </p>
+ <h3>
+ Setting of parameteres
+ </h3>
+ <p>
+ The parameters respected by <code>Pcap</code> can be changed via menu
+ <code>Check->Options->Pcap</code>.
+ </p>
+ <p>
+ By pressing <code><b>General settings</b></code> the dialog with options concerning the main functionality of pcap will be shown:
+ <ul>
+ <li><a href="http://www.winpcap.org/docs/docs_40_2/html/group__language.html" target="_blank">Pcap filter</a>: filters communication by entered expression (write yourself or choose one)</li>
+ <li>Layer to parse: choose the layer [ISO/OSI] from which you require parsing data </li>
+ <li>Time format, time unit, data unit: in which format and units you want to see the data </li>
+ </ul>
+ </p>
+ <ul class="gallery">
+ <li>
+ <ul>
+ <li>
+ <img src="pictures/pcap_general_dialog.png" width="500" border="0"
+ alt="General Dialog" />
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ </p>
+ <p>
+ By pressing <code><b>View settings</b></code> the dialog used for setting of more specific information,
+ which should be displayed in the diagram will be shown:
+ <ul>
+ <li>Whether the message labels should contain information only from selected layer or all parsed lower layers too</li>
+ <li>Whether the packet should be added to the diagram or not, if it doesn't contain data from selected layer </li>
+ <li>Which information will be shown in message label </li>
+ </ul>
+ </p>
+ <ul class="gallery">
+ <li>
+ <ul>
+ <li>
+ <img src="pictures/pcap_view_dialog.png" width="500" border="0"
+ alt="General Dialog" />
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ </p>
+ <p>
+ By pressing <code><b>Advanced settings</b></code> the dialog with options concerning the information displayed in dependency of
+ the specific protocol will be shown:
+ <ul>
+ <li>The more specific functionality of advanced settings is smart reassembling of packets and recognition,
+ which part of data the packet transfers (see examples below)</li>
+ </ul>
+ </p>
+ <ul class="gallery">
+ <li>
+ <ul>
+ <li>
+ <img src="pictures/pcap_advanced_dialog.png" width="500" border="0"
+ alt="General Dialog" />
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ <ul>
+ <li>
+ Example of HTTP communication without reassembling and showing data segments </br></br>
+ <ul class="gallery">
+ <li>
+ </li>
+ <li>
+ <img src="pictures/http_clear.png" width="500" border="1" alt="http without res and date segments"/>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </p>
+ <p>
+ <ul>
+ <li>
+ Example of HTTP communication with showing data segments </br></br>
+ <ul class="gallery">
+ <li>
+ </li>
+ <li>
+ <img src="pictures/http_parts.png" width="500" border="1" alt="http without res and date segments"/>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </p>
+ <p>
+ <ul>
+ <li>
+ Example of HTTP communication with reassembling </br>(the information about count or size of reassembled packets will be shown accroding to settings in <code>view settings</code>) </br></br>
+ <ul class="gallery">
+ <li>
+ </li>
+ <li>
+ <img src="pictures/http_reassembly.png" width="500" border="1" alt="http with reassembling"/>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </p>
+
+ <p>
+ By pressing <code><b>Aggregation settings</b></code> the dialog with options concerning the possible ways of packets aggregation will be shown:
+ <ul>
+ <li>The main idea is to aggregate more "equal" packets in pcap file in one message in BMSC diagram.</li>
+ <li>You can select two important options:
+ <ul>
+ <li><code>Equality rule:</code>
+ </br> Which data in packets have to be equal in order to make the packets "equal" </li>
+ <li><code>Aggreagation rule:</code>
+ </br> By which manner should be the "equal" packets aggregated (examples below)</li>
+ </ul>
+ </li>
+ </ul>
+ </p>
+ <ul class="gallery">
+ <li>
+ <ul>
+ <li>
+ <img src="pictures/pcap_aggreg_dialog.png" width="500" border="0"
+ alt="General Dialog" />
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ <ul>
+ <li>
+ Example of Ipv4 communication without aggregation </br></br>
+ <ul class="gallery">
+ <li>
+ </li>
+ <li>
+ <img src="pictures/no_flow.png" width="550" border="1" alt="no aggregation"/>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ <ul>
+ <li>
+ Example of Ipv4 communication with aggregation:</br>
+ <ul>
+ <li>Equality rule:<code> Network protocol</code></li>
+ <li>Aggreagation rule:<code> Succesive equal packets in entire communication</code>
+ <li><i>The aggregation is relating to all channels TOGETHER. All succesive "equal" packets are joined together.</i>
+ </br><font size="1.5" color="red">The differences with last example are highlighted with red color</font></li>
+ </ul>
+ </br></br>
+ <ul class="gallery">
+ <li>
+ </li>
+ <li>
+ <img src="pictures/lst_flow.png" width="550" border="1" alt="Succesive equal packets in entire communication"/>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ <ul>
+ <li>
+ Example of Ipv4 communication with aggregation:</br>
+ <ul>
+ <li>Equality rule:<code> Network protocol</code></li>
+ <li>Aggreagation rule:<code> Continuous one-way communication in every channel</code></li>
+ <li><i>The aggregation is relating to every channel SEPARATELY. All "equal" packets with same direction are joining together until start of communication in opposite direction. </i></br>
+ <font size="1.5" color="red">The differences with last example are highlighted with red color</font></li>
+ </ul>
+ </br></br>
+ <ul class="gallery">
+ <li>
+ </li>
+ <li>
+ <img src="pictures/continuous_ow.png" width="550" border="1" alt="Continuous one-way communication in every channel"/>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ <ul>
+ <li>
+ Example of Ipv4 communication with aggregation:</br>
+ <ul>
+ <li>Equality rule:<code> Network protocol</code></li>
+ <li>Aggreagation rule:<code> Continuous both-way communication in every channel</code></li>
+ <li><i>The aggregation is relating to every channel SEPARATELY. All "equal" packets in the same communication channel are joining together until start of communication in the other channel.</i></li>
+ </ul>
+ </br></br>
+ <ul class="gallery">
+ <li>
+ </li>
+ <li>
+ <img src="pictures/continuous_bw.png" width="550" border="1" alt="Continuous both-way communication in every channel"/>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ <ul>
+ <li>
+ Example of Ipv4 communication with aggregation:</br>
+ <ul>
+ <li>Equality rule:<code> Network protocol</code></li>
+ <li>Aggreagation rule:<code> Equal packets in entire communication </code></li>
+ <li><i>The aggregation is relating to all channels TOGETHER. All "equal" packets with the same direction are simply joined together.</i></li>
+ </ul>
+ </br></br>
+ <ul class="gallery">
+ <li>
+ </li>
+ <li>
+ <img src="pictures/all_flow.png" width="550" border="1" alt="Equal packets in entire communication"/>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ <p>
+ <ul>
+ <li>
+ Example of Ipv4 communication with aggregation:</br>
+ <ul>
+ <li>Equality rule:<code> Network protocol</code></li>
+ <li>Aggreagation rule:<code> Equal packets in interval[100]time units<font size="2">(in ms for this case) </font></code></li>
+ <li><i>The aggregation is relating to all channels TOGETHER. All "equal" packets in the section of 100 ms are simply joined together.</i></br>
+ <font size="1.5" color="red">The different time sections are highlighted with red color</font></li>
+ </ul>
+ </br></br>
+ <ul class="gallery">
+ <li>
+ </li>
+ <li>
+ <img src="pictures/time_flow.png" width="550" border="1" alt="Equal packets in interval[100]time units"/>
+ </li>
+ </ul>
+ </li>
+ </ul>
+ </div>
+ </body>
+</html>
\ No newline at end of file
Added: trunk/doc/help/pcap/pcap.head.htm
===================================================================
--- trunk/doc/help/pcap/pcap.head.htm (rev 0)
+++ trunk/doc/help/pcap/pcap.head.htm 2013-02-14 08:42:36 UTC (rev 1575)
@@ -0,0 +1,14 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<!DOCTYPE html
+ PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
+ "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd" >
+
+<html xmlns="http://www.w3.org/1999/xhtml">
+ <head>
+ <title>
+ Beautify
+ </title>
+ <link href="../help.css" rel="stylesheet" type="text/css" />
+ </head>
+ <body>
Added: trunk/doc/help/pcap/pictures/all_flow.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/all_flow.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/doc/help/pcap/pictures/arp_without_aggreg.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/arp_without_aggreg.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/doc/help/pcap/pictures/continuous_bw.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/continuous_bw.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/doc/help/pcap/pictures/continuous_ow.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/continuous_ow.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/doc/help/pcap/pictures/http_clear.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/http_clear.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/doc/help/pcap/pictures/http_parts.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/http_parts.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/doc/help/pcap/pictures/http_reassembly.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/http_reassembly.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/doc/help/pcap/pictures/lst_flow.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/lst_flow.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/doc/help/pcap/pictures/no_flow.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/no_flow.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/doc/help/pcap/pictures/pcap_advanced_dialog.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/pcap_advanced_dialog.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/doc/help/pcap/pictures/pcap_aggreg_dialog.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/pcap_aggreg_dialog.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/doc/help/pcap/pictures/pcap_general_dialog.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/pcap_general_dialog.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/doc/help/pcap/pictures/pcap_view_dialog.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/pcap_view_dialog.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Added: trunk/doc/help/pcap/pictures/time_flow.png
===================================================================
(Binary files differ)
Property changes on: trunk/doc/help/pcap/pictures/time_flow.png
___________________________________________________________________
Added: svn:mime-type
+ application/octet-stream
Modified: trunk/src/data/pcap/flow.cpp
===================================================================
--- trunk/src/data/pcap/flow.cpp 2013-02-13 22:38:30 UTC (rev 1574)
+++ trunk/src/data/pcap/flow.cpp 2013-02-14 08:42:36 UTC (rev 1575)
@@ -42,7 +42,7 @@
}
else // USE ONLY FOR REASSEMBLING MOSLTY
{
- ss << "X " << id.data.get_label() << "X ";
+ //ss << "X " << id.data.get_label() << "X ";
std::string label = it->second.get_smart_label();
// if this is a smart reassembling (HTTP,TCP,SIP), the size is allready included at the end of smart label -> delete it!
size_t pos = label.find("SIZE");
@@ -50,11 +50,11 @@
{
label.erase(pos);
}
- ss << label;
+ ss << label;
}
if(settings->show_packet_count)
- {
+ {
int packet_count = it->second.get_count();
(packet_count == 1) ? ((pcap_settings->is_aggregation_active()) ? ss << "" : ss << "1 packet" ) : ss << packet_count << " packets ";
}
@@ -94,12 +94,12 @@
pckt_id = it->second.get_ids().first;
ids = std::make_pair(pckt_id,pckt_id);
return flow_output(MESSAGE_BEGIN,it->first,ids,"",it->second.get_times().first);
-
- case MESSAGE_END :
+
+ case MESSAGE_END :
return flow_output(MESSAGE_END,it->first,it->second.get_ids(),get_label(it),it->second.get_times().second);
-
- case WHOLE_MESSAGE :
- return flow_output(WHOLE_MESSAGE,it->first,it->second.get_ids(),get_label(it),it->second.get_times().second);
+
+ case WHOLE_MESSAGE :
+ return flow_output(WHOLE_MESSAGE,it->first,it->second.get_ids(),get_label(it),it->second.get_times().second);
default : return result;
}
return result;
@@ -110,16 +110,16 @@
std::vector<std::map<msg_id,FlowStats>::iterator> FlowControl::active_com_interrupt(msg_id packet,bool inherit)
{
std::vector<std::map<msg_id,FlowStats>::iterator> result;
-
+
int first = packet.source_pair.first;
int second = packet.destin_pair.first;
int count = 0;
for(std::map<msg_id,FlowStats>::iterator it = flow_map.begin(); it != flow_map.end(); it++)
- { // dont't interrupt on data level
- if(packet.data != it->first.data)
+ { // dont't interrupt on data level
+ if(packet.data != it->first.data)
continue;
-
+
if(it->first.source_pair.first == first || it->first.source_pair.first == second)
count++;
if(it->first.destin_pair.first == first || it->first.destin_pair.first == second)
@@ -136,7 +136,7 @@
std::vector<std::map<msg_id,FlowStats>::iterator> result;
for(std::map<msg_id,FlowStats>::iterator it = flow_map.begin(); it != flow_map.end(); it++)
- {
+ {
if(it->first.data.proto == proto)
result.push_back(it);
}
@@ -150,12 +150,12 @@
defer_msg.push_back(get_flowout_flowstats(MESSAGE_END,flow_map.begin()));
return defer_msg;
}
-
+
for(std::map<msg_id,FlowStats>::iterator it = flow_map.begin(); it != flow_map.end(); it++)
{
flush_flowstats(it);
}
-
+
flow_map.clear();
// sort by order of incoming packets
std::sort(defer_msg.begin(),defer_msg.end());
@@ -164,7 +164,7 @@
std::vector<flow_output> FlowControl::update_flow(int pkt_id,num_inst_pair src_pair,num_inst_pair dst_pair,SpecData flow_data,double time,std::string smart_label)
{
-
+
std::vector<flow_output> result;
std::map<msg_id,FlowStats>::iterator it;
std::vector<std::map<msg_id,FlowStats>::iterator> interrupted;
@@ -195,28 +195,28 @@
flow_map[default_id] = FlowStats(pkt_id,time,flow_data.data_size);
}
return result;
-
- case HDX_FLOW :
+
+ case HDX_FLOW :
//active communication in this direction
if((it = flow_map.find(default_id)) != flow_map.end())
{
it->second.update_id_time_data(pkt_id,time,flow_data.data_size);
}
else
- { // add to active com
+ { // add to active com
flow_map[default_id] = FlowStats(pkt_id,time,flow_data.data_size);
//for HDX check the communication in opposite direction, if were there, putt in defer messages
if((it = flow_map.find(opposite_id)) != flow_map.end())
- {
+ {
flush_flowstats(it);
flow_map.erase(it);
}
}
- return result;
+ return result;
- case FDX_FLOW :
+ case FDX_FLOW :
if((it = flow_map.find(default_id)) != flow_map.end())
- {
+ {
it->second.update_id_time_data(pkt_id,time,flow_data.data_size);
}
else
@@ -224,14 +224,14 @@
flow_map[default_id] = FlowStats(pkt_id,time,flow_data.data_size);
}
return result;
-
- case FDX_CON_FLOW : // full duplex -> bind the CONTINOUS communication between two nodes together
+
+ case FDX_CON_FLOW : // full duplex -> bind the CONTINOUS communication between two nodes together
interrupted = active_com_interrupt(default_id,false);
if(!interrupted.empty()) // interrupt active communications
{
for(u_int i=0; i < interrupted.size();i++)
- {
+ {
it = interrupted[i];
flush_flowstats(it);
}
@@ -239,7 +239,7 @@
for(u_int i=0; i < interrupted.size();i++)
flow_map.erase(interrupted[i]);
}
- if((it = flow_map.find(default_id)) != flow_map.end())
+ if((it = flow_map.find(default_id)) != flow_map.end())
{
it->second.update_id_time_data(pkt_id,time,flow_data.data_size);
}
@@ -265,7 +265,7 @@
flow_map.clear();
flow_map[default_id] = FlowStats(pkt_id,time,flow_data.data_size);
}
- else if((it = flow_map.find(default_id)) != flow_map.end())
+ else if((it = flow_map.find(default_id)) != flow_map.end())
{
it->second.update_id_time_data(pkt_id,time,flow_data.data_size);
}
@@ -273,7 +273,7 @@
{
flow_map[default_id] = FlowStats(pkt_id,time,flow_data.data_size);
}
-
+
return result;
case AGGREG_FLOW:
@@ -282,11 +282,11 @@
case HTTP_AGGR:
if(flow_data.http_msg->message_complete || !(flow_data.http_msg->is_segment))
{
- if((it = flow_map.find(default_id)) != flow_map.end())
+ if((it = flow_map.find(default_id)) != flow_map.end())
{
- if(flow_data.http_msg->is_segment) // if its segment, update last values
+ if(flow_data.http_msg->is_segment) // if its segment, update last values
it->second.update_id_time_data(pkt_id,time,flow_data.data_size);
-
+
flush_flowstats(it);
flow_map.erase(it);
@@ -310,7 +310,7 @@
}
}
return result;
-
+
case TCP_AGGR:
if(flow_data.tcp_flow_item->segment || flow_data.tcp_flow_item->segment_ack)
{
@@ -339,15 +339,15 @@
{
interrupted = interrupt_with_proto(RTP);
for(u_int i=0; i < interrupted.size();i++)
- {
+ {
it = interrupted[i];
flush_flowstats(it);
}
for(u_int i=0; i < interrupted.size();i++)
flow_map.erase(interrupted[i]);
- defer_msg.push_back(get_whole_flowout(default_id,pkt_id,time,smart_label)); // add sip packet to defer msg
-
+ defer_msg.push_back(get_whole_flowout(default_id,pkt_id,time,smart_label)); // add sip packet to defer msg
+
}
else // RTP packet
{
@@ -363,7 +363,7 @@
return result;
default : // other packets
- defer_msg.push_back(get_whole_flowout(default_id,pkt_id,time,smart_label));
+ defer_msg.push_back(get_whole_flowout(default_id,pkt_id,time,smart_label));
return result;
}
default : return result;
Modified: trunk/src/view/visio/addon/pcapSettingGDlg.h
===================================================================
--- trunk/src/view/visio/addon/pcapSettingGDlg.h 2013-02-13 22:38:30 UTC (rev 1574)
+++ trunk/src/view/visio/addon/pcapSettingGDlg.h 2013-02-14 08:42:36 UTC (rev 1575)
@@ -35,7 +35,7 @@
L"tcp",
L"tcp port 80",
L"(tcp || udp) && (port 5060 || port 5061)",
- L"udp[1] & 1 != 1 && udp[3] & 1 != 1 && udp[8]"
+ L"udp[1] & 1 != 1 && udp[3] & 1 != 1 && udp[8] & 0x80 == 0x80"
};
class CPcapSettingsGDlg
This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site.
|