registryana.cpp

来自「ipv6 隧道探测工具。是linux下使用的。 用于探测两点间是否存在隧道」· C++ 代码 · 共 77 行

CPP
77
字号
#include <fstream>#include <iostream>#include <cstdlib>#include <cstring>#include "Segment.h"#include "RegistryAna.h"using namespace std;// The macro __GNUG__ is set for GNU C++#ifdef __GNUG__#include <unistd.h>		// for access()#else#include <io.h>         // for _access()#endifRegistryAna::RegistryAna() {  dbPath ="";}void RegistryAna::setDbPath(string pathapp) {  dbPath = pathapp;}// 1 - success, 0 - failureint RegistryAna::searcher(string tosearch){        char		filename[64],                                buffer[1024],                                command[128],                                tempFilename[9];        int			lineno,                                hits = 0,                                files = 0,                                system_command_status;        ifstream	fin1,                                fin2;        const char* searchapp = tosearch.c_str();        string newpath = dbPath + "6bone.db";        fin1.open(newpath.c_str());        if (fin1.peek() == EOF) {          fin1.clear();          fin1.open("/etc/6bone.db");          if (fin1.peek() == EOF) {            cerr << "Error : 6bone.db file not found...!\n"<<                    "Insert the 6bone.db in the directory where tunneltrace\n"<<                    "is running or in the directory /etc\n";          //  exit (-4);//cambiare non deve uscire ma continuare esecuzione          }        }        if (fin1.peek()!=EOF) {          lineno = 0;          fin1.clear();          fin1.seekg(0L, ios::beg);          while (fin1.getline(buffer,sizeof(buffer))) {            lineno++;            if (strstr(buffer,searchapp)) hits++;          }        }        fin1.close();        return hits;}// 1 - success , 0 - failure//i need the two hostnames to look into 6bone.dbint RegistryAna::searchDB(Segment s1) {  string tothostname;  if (s1.getHostnamein()!="" && s1.getHostnameout()!="") {    tothostname = s1.getHostnamein() + " -> " + s1.getHostnameout();    if (searcher(tothostname)==0) {      tothostname = s1.getHostnameout() + " -> " + s1.getHostnamein();    }    return searcher(tothostname);  }  else return 0;}

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?