Exemplo n.º 1
0
void ProcessSourceIPTraffic(PSCANPARAMS pScanParams, char *pProtocol, IPADDRESS pSrcIP, IPADDRESS pDstIP, unsigned int pSrcPort, unsigned int pDstPort, int pDataLen)
{
  char lDstIP[MAX_IP_LEN];
  char lSrcIP[MAX_IP_LEN];
  PHOSTNODE lNode = NULL;
  unsigned long lLocalIP = 0;
  unsigned long lPeerIP1 = 0;
  unsigned long lPeerIP2 = 0;
  char lTimeStamp[128];
  time_t lRawtime;
  struct tm * lTimeinfo;

  CopyMemory(&lLocalIP, pScanParams->LocalIP, 4);
  CopyMemory(&lPeerIP1, &pSrcIP, 4);
  CopyMemory(&lPeerIP2, &pDstIP, 4);

  _snprintf(lSrcIP, sizeof(lSrcIP) - 1, "%d.%d.%d.%d", pSrcIP.byte1, pSrcIP.byte2, pSrcIP.byte3, pSrcIP.byte4);
  _snprintf(lDstIP, sizeof(lDstIP) - 1, "%d.%d.%d.%d", pDstIP.byte1, pDstIP.byte2, pDstIP.byte3, pDstIP.byte4);

  time (&lRawtime);
  lTimeinfo = localtime (&lRawtime);
  ZeroMemory(lTimeStamp, sizeof(lTimeStamp));
  strftime(lTimeStamp, sizeof(lTimeStamp) - 1, "%H:%M:%S", lTimeinfo);


  if (IPAddrBelongsToLocalNet(lLocalIP, pScanParams->Netmask, lPeerIP1) == 0)
  {
    if ((lNode = GetNodeByIP(gHosts, lPeerIP1)) != NULL || (lNode = AddRecordToList(&gHosts, lPeerIP1)) != NULL)
    {
      lNode->sData.DataVolume += pDataLen;
      lNode->sData.PacketCounter++;
      strncpy((char *) lNode->sData.LastUpdate, lTimeStamp, sizeof(lNode->sData.LastUpdate)-1);
    }   
  }
  else if (IPAddrBelongsToLocalNet(lLocalIP, pScanParams->Netmask, lPeerIP2) == 0)
  {
    if ((lNode = GetNodeByIP(gHosts, lPeerIP2)) != NULL || (lNode = AddRecordToList(&gHosts, lPeerIP2)) != NULL)
    {
      lNode->sData.DataVolume += pDataLen;
      lNode->sData.PacketCounter++;
      strncpy((char *) lNode->sData.LastUpdate, lTimeStamp, sizeof(lNode->sData.LastUpdate)-1);
    }
  }
  else
  {
//    printf("ProcessSourceIPTraffic(2) : (%s) Unknown  %s:%d->%s:%d   %d\n", pProtocol, lSrcIP, pSrcPort, lDstIP, pDstPort, pDataLen);
  }
}
Exemplo n.º 2
0
void UpdateDlg::FillFiles(const wxTreeItemId& id)
{
    wxTreeCtrl* tree = XRCCTRL(*this, "tvCategories", wxTreeCtrl);
    wxListCtrl* lst = XRCCTRL(*this, "lvFiles", wxListCtrl);
    lst->Freeze();
    lst->ClearAll();
    CreateListColumns();

    wxString group = id == tree->GetRootItem() ? _T("") : tree->GetItemText(id);

    // add files belonging to group
    int counter = 0;
    for (int i = 0; i < m_RecsCount; ++i)
    {
        if (group.IsEmpty() || (!m_Recs[i].groups.IsEmpty() && m_Recs[i].groups.Index(group) != wxNOT_FOUND))
        {
            // filter
            if (FilterRec(&m_Recs[i]))
            {
                AddRecordToList(&m_Recs[i]);
                ++counter;
            }
        }
    }
    lst->Thaw();

    // select first item
    lst->SetItemState(0, wxLIST_STATE_SELECTED | wxLIST_STATE_FOCUSED, wxLIST_STATE_SELECTED | wxLIST_STATE_FOCUSED);
}