本文整理汇总了C++中Analysis::analyzeProtocol方法的典型用法代码示例。如果您正苦于以下问题:C++ Analysis::analyzeProtocol方法的具体用法?C++ Analysis::analyzeProtocol怎么用?C++ Analysis::analyzeProtocol使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Analysis
的用法示例。
在下文中一共展示了Analysis::analyzeProtocol方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。
示例1: analyzeProtocol
void IpAnalysis::analyzeProtocol(ProtocolStack &pstack, size_t *bytes)
{
if(_bufsize < sizeof(_iphdr))
{
bzero(&_iphdr, sizeof(_iphdr));
return;
}
memcpy(&_iphdr, _buffer, sizeof(_iphdr));
_iphdr.tot_len = ntohs(_iphdr.tot_len);
_iphdr.check = ntohs(_iphdr.check);
if(bytes != NULL)
*bytes += _iphdr.tot_len;
pstack.push_back(this);
Analysis *child = _getChild(_iphdr.protocol);
if(child != NULL)
{
child->setBuffer(_buffer + getHeaderLen(),
_bufsize - getHeaderLen());
child->analyzeProtocol(pstack, NULL);
}
}
示例2: analyzeProtocol
void UdpAnalysis::analyzeProtocol(ProtocolStack &pstack, size_t *bytes)
{
if(_bufsize < sizeof(_udphdr))
{
bzero(&_udphdr, sizeof(_udphdr));
return;
}
memcpy(&_udphdr, _buffer, sizeof(_udphdr));
_udphdr.source = ntohs(_udphdr.source);
_udphdr.dest = ntohs(_udphdr.dest);
_udphdr.len = ntohs(_udphdr.len);
_udphdr.check = ntohs(_udphdr.check);
if(bytes != NULL)
*bytes += _udphdr.len;
pstack.push_back(this);
int port = _udphdr.source < _udphdr.dest ? _udphdr.source:_udphdr.dest;
Analysis *child = _getChild(port);
if(child != NULL)
{
child->setBuffer(_buffer + 8, _bufsize - 8);
child->analyzeProtocol(pstack, NULL);
}
}