Exemplo n.º 1
0
 public function store()
 {
     $networkinterface = new Networkinterface(false, $this->getRouterId(), $this->getName());
     $networkinterface->fetch();
     if ($this->getNetworkinterfaceId() != 0 and $networkinterface->getNetworkinterfaceId() == $this->getNetworkinterfaceId()) {
         try {
             $stmt = DB::getInstance()->prepare("UPDATE interfaces SET\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\trouter_id = ?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tname = ?,\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\tupdate_date = NOW()\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE id=?");
             $stmt->execute(array($this->getRouterId(), $this->getName(), $this->getNetworkinterfaceId()));
             return $stmt->rowCount();
         } catch (PDOException $e) {
             echo $e->getMessage();
             echo $e->getTraceAsString();
         }
     } elseif ($this->getRouterId() != 0 and $this->getName() != "" and $networkinterface->getNetworkinterfaceId() == 0) {
         try {
             $stmt = DB::getInstance()->prepare("INSERT INTO interfaces (router_id, name, create_date, update_date)\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tVALUES (?, ?, NOW(), NOW())");
             $stmt->execute(array($this->getRouterId(), $this->getName()));
             return DB::getInstance()->lastInsertId();
         } catch (PDOException $e) {
             echo $e->getMessage();
             echo $e->getTraceAsString();
         }
     }
     return false;
 }
Exemplo n.º 2
0
 public function insertCrawlData($data)
 {
     $router_data = Router_old::getRouterInfo($data['router_id']);
     $actual_crawl_cycle = Crawling::getActualCrawlCycle();
     $last_endet_crawl_cycle = Crawling::getLastEndedCrawlCycle();
     /**Insert Router Interfaces*/
     foreach ($data['interface_data'] as $sendet_interface) {
         //Update RRD Graph DB
         $interface_last_endet_crawl = Interfaces::getInterfaceCrawlByCrawlCycleAndRouterIdAndInterfaceName($last_endet_crawl_cycle['id'], $data['router_id'], $sendet_interface['name']);
         $traffic_rx_bps = round(($sendet_interface['traffic_rx'] - $interface_last_endet_crawl['traffic_rx']) / $GLOBALS['crawl_cycle'] / 60);
         $traffic_rx_bps = $traffic_rx_bps < 0 ? 0 : $traffic_rx_bps;
         $traffic_tx_bps = round(($sendet_interface['traffic_tx'] - $interface_last_endet_crawl['traffic_tx']) / $GLOBALS['crawl_cycle'] / 60);
         $traffic_tx_bps = $traffic_tx_bps < 0 ? 0 : $traffic_tx_bps;
         //Set default indizies to prevent from warnings
         $sendet_interface['wlan_frequency'] = isset($sendet_interface['wlan_frequency']) ? preg_replace("/([A-Za-z])/", "", $sendet_interface['wlan_frequency']) : "";
         $sendet_interface['wlan_mode'] = isset($sendet_interface['wlan_mode']) ? $sendet_interface['wlan_mode'] : "";
         $sendet_interface['wlan_essid'] = isset($sendet_interface['wlan_essid']) ? $sendet_interface['wlan_essid'] : "";
         $sendet_interface['wlan_bssid'] = isset($sendet_interface['wlan_bssid']) ? $sendet_interface['wlan_bssid'] : "";
         $sendet_interface['wlan_tx_power'] = isset($sendet_interface['wlan_tx_power']) ? $sendet_interface['wlan_tx_power'] : 0;
         //check if interface already exists
         $networkinterface_test = new Networkinterface(false, (int) $data['router_id'], $sendet_interface['name']);
         //if interface not exist, create new
         if (!$networkinterface_test->fetch()) {
             $networkinterface_new = new Networkinterface(false, (int) $data['router_id'], $sendet_interface['name']);
             $networkinterface_id = $networkinterface_new->store();
         } else {
             $networkinterface_id = $networkinterface_test->getNetworkinterfaceId();
         }
         //save crawl data for interface
         $networkinterface_status = new NetworkinterfaceStatus(false, (int) $actual_crawl_cycle['id'], (int) $networkinterface_id, (int) $data['router_id'], $sendet_interface['name'], $sendet_interface['mac_addr'], (int) $sendet_interface['mtu'], (int) $sendet_interface['traffic_rx'], (int) $traffic_rx_bps, (int) $sendet_interface['traffic_tx'], (int) $traffic_tx_bps, $sendet_interface['wlan_mode'], $sendet_interface['wlan_frequency'], $sendet_interface['wlan_essid'], $sendet_interface['wlan_bssid'], (int) $sendet_interface['wlan_tx_power'], false);
         $networkinterface_status->store();
         //Update RRDDatabase
         $rrd_path_traffic_rx = ROOT_DIR . "/rrdtool/databases/router_{$data['router_id']}_interface_{$sendet_interface['name']}_traffic_rx.rrd";
         if (!file_exists($rrd_path_traffic_rx)) {
             exec("rrdtool create {$rrd_path_traffic_rx} --step 600 --start " . time() . " DS:traffic_rx:GAUGE:700:U:U DS:traffic_tx:GAUGE:900:U:U RRA:AVERAGE:0:1:144 RRA:AVERAGE:0:6:168 RRA:AVERAGE:0:18:240");
         }
         exec("rrdtool update {$rrd_path_traffic_rx} " . time() . ":" . round($traffic_rx_bps / 1000, 2) . ":" . round($traffic_tx_bps / 1000, 2));
         //add unknown ipv6 link local addresses to netmon
         //prepare data
         $ipv6_link_local_addr = explode("/", $sendet_interface['ipv6_link_local_addr']);
         $ipv6_link_local_netmask = isset($ipv6_link_local_addr[1]) ? (int) $ipv6_link_local_addr[1] : 64;
         $ipv6_link_local_addr = Ip::ipv6Expand($ipv6_link_local_addr[0]);
         //first try to determine network of given address
         $ipv6_link_local_network = Ip::ipv6NetworkFromAddr($ipv6_link_local_addr, (int) $ipv6_link_local_netmask);
         $network = new Network(false, false, $ipv6_link_local_network, (int) $ipv6_link_local_netmask, 6);
         if ($network->fetch()) {
             //if network found, then try to add ip address
             $ip = new Ip(false, (int) $networkinterface_id, $network->getNetworkId(), $ipv6_link_local_addr);
             $ip->store();
         }
     }
     RrdTool::updateRouterClientCountHistory($data['router_id'], $data['client_count']);
 }
Exemplo n.º 3
0
 public function __construct($status_id = false, $router_id = false, $offset = false, $limit = false, $sort_by = false, $order = false)
 {
     $result = array();
     if ($offset !== false) {
         $this->setOffset((int) $offset);
     }
     if ($limit !== false) {
         $this->setLimit((int) $limit);
     }
     if ($sort_by !== false) {
         $this->setSortBy($sort_by);
     }
     if ($order !== false) {
         $this->SetOrder($order);
     }
     // initialize $total_count with the total number of objects in the list (over all pages)
     try {
         $stmt = DB::getInstance()->prepare("SELECT COUNT(*) as total_count\n\t\t\t\t\t\t\t\t\t\t\t\t\tFROM interfaces\n\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(interfaces.router_id = :router_id OR :router_id=0)");
         $stmt->bindParam(':router_id', $router_id, PDO::PARAM_INT);
         $stmt->execute();
         $total_count = $stmt->fetch(PDO::FETCH_ASSOC);
     } catch (PDOException $e) {
         echo $e->getMessage();
         echo $e->getTraceAsString();
     }
     $this->setTotalCount((int) $total_count['total_count']);
     //if limit -1 then get all ressource records
     if ($this->getLimit() == -1) {
         $this->setLimit($this->getTotalCount());
     }
     try {
         $stmt = DB::getInstance()->prepare("SELECT i.id as i_id, i.router_id as i_router_id, i.name as i_name,\n\t\t\t\t\t\t\t\t\t\t\t\t\ti.create_date as i_create_date, i.update_date as i_update_date,\n\t\t\t\t\t\t\t\t\t\t\t\t\tci.id as ci_id, ci.router_id as ci_router_id, ci.crawl_cycle_id as ci_crawl_cycle_id,\n\t\t\t\t\t\t\t\t\t\t\t\t\tci.interface_id ci_interface_id, ci.crawl_date as ci_crawl_date, ci.name as ci_name,\n\t\t\t\t\t\t\t\t\t\t\t\t\tci.mac_addr as ci_mac_addr, ci.traffic_rx ci_traffic_rx, ci.traffic_rx_avg ci_traffic_rx_avg,\n\t\t\t\t\t\t\t\t\t\t\t\t\tci.traffic_tx ci_traffic_tx, ci.traffic_tx_avg ci_traffic_tx_avg, ci.wlan_mode ci_wlan_mode,\n\t\t\t\t\t\t\t\t\t\t\t\t\tci.wlan_frequency ci_wlan_frequency, ci.wlan_essid ci_wlan_essid, ci.wlan_bssid ci_wlan_bssid,\n\t\t\t\t\t\t\t\t\t\t\t\t\tci.wlan_tx_power ci_wlan_tx_power, ci.mtu ci_mtu\n\t\t\t\t\t\t\t\t\t\t\t\t\tFROM interfaces i, crawl_interfaces ci\n\t\t\t\t\t\t\t\t\t\t\t\t\tWHERE\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t(i.router_id = :router_id OR :router_id=0) AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tci.interface_id = i.id AND\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tci.crawl_cycle_id = :status_id\n\t\t\t\t\t\t\t\t\t\t\t\t\tORDER BY\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tcase :sort_by\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\twhen 'name' then i.name\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\telse NULL\n\t\t\t\t\t\t\t\t\t\t\t\t\t\tend\n\t\t\t\t\t\t\t\t\t\t\t\t\t" . $this->getOrder() . "\n\t\t\t\t\t\t\t\t\t\t\t\t\tLIMIT :offset, :limit");
         $stmt->bindParam(':status_id', $status_id ? $status_id : (int) crawling::getLastEndedCrawlCycle()['id'], PDO::PARAM_INT);
         $stmt->bindParam(':router_id', $router_id, PDO::PARAM_INT);
         $stmt->bindParam(':offset', $this->getOffset(), PDO::PARAM_INT);
         $stmt->bindParam(':limit', $this->getLimit(), PDO::PARAM_INT);
         $stmt->bindParam(':sort_by', $this->getSortBy(), PDO::PARAM_STR);
         $stmt->execute();
         $result = $stmt->fetchAll(PDO::FETCH_ASSOC);
     } catch (PDOException $e) {
         echo $e->getMessage();
         echo $e->getTraceAsString();
     }
     foreach ($result as $networkinterface) {
         $new_networkinterface = new Networkinterface((int) $networkinterface['i_id'], (int) $networkinterface['i_router_id'], $networkinterface['i_name'], $networkinterface['i_create_date'], $networkinterface['i_update_date']);
         $new_networkinterface->setStatusdata(new NetworkinterfaceStatus((int) $networkinterface['ci_id'], (int) $networkinterface['ci_crawl_cycle_id'], (int) $networkinterface['ci_interface_id'], (int) $networkinterface['ci_router_id'], $networkinterface['ci_name'], $networkinterface['ci_mac_addr'], (int) $networkinterface['ci_mtu'], (int) $networkinterface['ci_traffic_rx'], (int) $networkinterface['ci_traffic_rx_avg'], (int) $networkinterface['ci_traffic_tx'], (int) $networkinterface['ci_traffic_tx_avg'], $networkinterface['ci_wlan_mode'], $networkinterface['ci_wlan_frequency'], $networkinterface['ci_wlan_essid'], $networkinterface['ci_wlan_bssid'], (int) $networkinterface['ci_wlan_tx_power'], $networkinterface['ci_crawl_date']));
         $this->networkinterfacelist[] = $new_networkinterface;
     }
 }
Exemplo n.º 4
0
            echo $e->getMessage();
            echo $e->getTraceAsString();
        }
        //Make output
        echo "success;" . $router_data['router_id'] . ";" . $hash . ";" . $router_data['hostname'] . ";" . $row['api_key'];
    }
}
if ($_GET['section'] == "autoadd_ipv6_address") {
    //first try to determine network of given address
    $ipv6_network = Ip::ipv6NetworkFromAddr($_GET['ip'], (int) $_GET['netmask']);
    $network = new Network(false, false, $ipv6_network, (int) $_GET['netmask'], (int) $_GET['ipv']);
    if ($network->fetch()) {
        //if network found, then try to add ip address.
        //first we need to check if the interface we want to add th ip to already exists
        //and if not we need to create it.
        $networkinterface = new Networkinterface(false, (int) $_GET['router_id'], $_GET['networkinterface_name']);
        if (!$networkinterface->fetch()) {
            $networkinterface_id = $networkinterface->store();
            if (!$networkinterface_id) {
                echo "error,new_interface_not_stored";
                die;
            }
        } else {
            $networkinterface_id = $networkinterface->getNetworkinterfaceId();
        }
        //then we can create the ip
        $ip = new Ip(false, (int) $networkinterface_id, (int) $network->getNetworkId(), $_GET['ip']);
        if ($ip->store()) {
            echo "success,address_does_not_exists," . $ip->getIp();
        } else {
            echo "error,new_ip_not_stored";
Exemplo n.º 5
0
 private function networkinterface()
 {
     if ($this->get_request_method() == "GET" && isset($this->_request['id'])) {
         $networkinterface = new Networkinterface((int) $this->_request['id']);
         if ($networkinterface->fetch()) {
             $domxmldata = $networkinterface->getDomXMLElement($this->domxml);
             $this->response($this->finishxml($domxmldata), 200);
         } else {
             $this->error_code = 1;
             $this->error_message = "Networkinterface not found";
             $this->response($this->finishxml(), 404);
         }
     }
 }
Exemplo n.º 6
0
 public function getNetworkinterface()
 {
     $networkinterface = new Networkinterface($this->getInterfaceId());
     if ($networkinterface->fetch()) {
         return $networkinterface;
     }
     return false;
 }
echo "\tping_timeout: {$ping_timeout}\n";
echo "\tcrawl_timeout: {$crawl_timeout}\n";
echo "\tnetwork_connection_ipv6_interface: {$network_connection_ipv6_interface}\n";
echo "\tinterfaces_used_for_crawling: ";
foreach ($interfaces_used_for_crawling as $iface) {
    echo $iface;
}
echo "\n";
echo "\tactual_crawl_cycle: " . $actual_crawl_cycle . "\n";
//fetch all routers that need to be crawled by a crawler. Respect offset and limit!
$routerlist = new Routerlist(false, false, "crawler", false, false, false, false, false, (int) $router_offset, (int) $router_limit, "router_id", "asc");
foreach ($routerlist->getRouterlist() as $key => $router) {
    echo $key + 1 . ". crawling Router " . $router->getHostname() . " (" . $router->getRouterId() . ")\n";
    foreach ($interfaces_used_for_crawling as $name) {
        echo "\tFetching IP-Addresses of interface " . $name . "\n";
        $networkinterface = new Networkinterface(false, $router->getRouterId(), $name);
        if ($networkinterface->fetch()) {
            $iplist = new Iplist($networkinterface->getNetworkinterfaceId());
            foreach ($iplist->getIplist() as $ip) {
                echo "\t\tWorking with " . $ip->getIp() . "\n";
                $xml_array = array();
                $ping = false;
                $return = array();
                if ($ip->getNetwork()->getIpv() == 6) {
                    $command = "ping6 -c {$ping_count} -w " . ($ping_count + 1) * $ping_timeout . " -W {$ping_timeout} -I {$network_connection_ipv6_interface} " . $ip->getIp();
                } elseif ($ip->getNetwork()->getIpv() == 4) {
                    $command = "ping -c {$ping_count} -w " . ($ping_count + 1) * $ping_timeout . " -W {$ping_timeout} " . $ip->getIp();
                }
                echo "\t\t\t" . $command . "\n";
                PsExecute($command, $ping_hard_timeout, 1);
                //fetch crawl data from router
Exemplo n.º 8
0
    if (permission::checkIfUserIsOwnerOrPermitted(PERM_ROOT, $networkinterface->getRouter()->getUserId())) {
        $smarty->assign('message', Message::getMessage());
        $smarty->assign('networkinterface', $networkinterface);
        $networklist = new Networklist();
        $smarty->assign('networklist', $networklist->getNetworklist());
        $router = new Router((int) $_GET['router_id']);
        $router->fetch();
        $smarty->assign('router', $router);
        $smarty->display("header.tpl.html");
        $smarty->display("ip_add.tpl.html");
        $smarty->display("footer.tpl.html");
    } else {
        Permission::denyAccess(PERM_ROOT, $networkinterface->getRouter()->getUserId());
    }
} elseif ($_GET['section'] == 'insert_add') {
    $networkinterface = new Networkinterface((int) $_GET['interface_id']);
    $networkinterface->fetch();
    if (permission::checkIfUserIsOwnerOrPermitted(PERM_ROOT, $networkinterface->getRouter()->getUserId())) {
        $ip = new Ip(false, (int) $_GET['interface_id'], (int) $_POST['network_id'], $_POST['ip']);
        if ($ip->store()) {
            $message[] = array('Die IP ' . $_POST['ip'] . ' wurde angelegt.', 1);
            Message::setMessage($message);
        } else {
            $message[] = array('Die IP ' . $_POST['ip'] . ' konnte nicht angelegt werden.', 2);
            Message::setMessage($message);
        }
        header('Location: ./router.php?router_id=' . $_GET['router_id']);
    } else {
        Permission::denyAccess(PERM_ROOT, $networkinterface->getRouter()->getUserId());
    }
} elseif ($_GET['section'] == 'delete') {
Exemplo n.º 9
0
        $networkinterface = new Networkinterface(false, (int) $_GET['router_id'], $_POST['name']);
        if ($networkinterface->fetch() == false) {
            $networkinterface_id = $networkinterface->store();
            $networkinterface_status = new NetworkinterfaceStatus(false, (int) Crawling::getLastEndedCrawlCycle()['id'], (int) $networkinterface_id, (int) $_GET['router_id']);
            $networkinterface_status->store();
            $message[] = array("Das Netzwerkinterface " . $_POST['name'] . " wurde hinzugefügt.", 1);
            Message::setMessage($message);
            header('Location: ./router.php?router_id=' . $_GET['router_id']);
        } else {
            $message[] = array("Das Netzwerkinterface " . $_POST['name'] . " existiert bereits.", 2);
            Message::setMessage($message);
            header('Location: ./router.php?router_id=' . $_GET['router_id']);
        }
    } else {
        Permission::denyAccess(PERM_ROOT, $router->getUserId());
    }
} elseif ($_GET['section'] == 'delete') {
    $networkinterface = new Networkinterface((int) $_GET['interface_id']);
    $networkinterface->fetch();
    if (permission::checkIfUserIsOwnerOrPermitted(PERM_ROOT, $networkinterface->getRouter()->getUserId())) {
        if ($networkinterface->delete()) {
            $message[] = array("Das Netzwerkinterface " . $networkinterface->getName() . " wurde entfernt.", 1);
        } else {
            $message[] = array("Das Netzwerkinterface " . $networkinterface->getName() . " konnte nicht entfernt werden.", 1);
        }
        Message::setMessage($message);
        header('Location: ./router.php?router_id=' . $networkinterface->getRouterId());
    } else {
        Permission::denyAccess(PERM_ROOT, $networkinterface->getRouter()->getUserId());
    }
}
Exemplo n.º 10
0
        $ip = new Ip(false, false, $network->getNetworkId(), $ip);
        if ($ip->fetch()) {
            $networkinterface = new Networkinterface($ip->getInterfaceId());
            $networkinterface->fetch();
            $router = new Router($networkinterface->getRouterId());
            $router->fetch();
            $smarty->assign('object', "router");
            $smarty->assign('object_data', $router);
        }
    }
} elseif (isset($_POST['what']) and $_POST['what'] == 'ip' and $_POST['ipv'] == 4) {
    //first try to determine network of given address
    $network = SubnetCalculator::getDqNet($_POST['ip'], (int) $_POST['netmask']);
    $network = new Network(false, false, $network, (int) $_POST['netmask'], 4);
    if ($network->fetch()) {
        //if network found, then try to add ip address
        $ip = new Ip(false, false, $network->getNetworkId(), $_POST['ip']);
        if ($ip->fetch()) {
            $networkinterface = new Networkinterface($ip->getInterfaceId());
            $networkinterface->fetch();
            $router = new Router($networkinterface->getRouterId());
            $router->fetch();
            $smarty->assign('object', "router");
            $smarty->assign('object_data', $router);
        }
    }
} elseif (isset($_POST['what']) and $_POST['what'] == 'mac_add') {
}
$smarty->display("header.tpl.html");
$smarty->display("search.tpl.html");
$smarty->display("footer.tpl.html");
Exemplo n.º 11
0
 $router_has_been_crawled = Crawling::checkIfRouterHasBeenCrawled($_POST['router_id'], $actual_crawl_cycle['id']);
 if (!$router_has_been_crawled) {
     $last_endet_crawl_cycle = Crawling::getLastEndedCrawlCycle();
     /**Insert Router System Data*/
     $router_status = new RouterStatus(false, (int) $actual_crawl_cycle['id'], (int) $_POST['router_id'], $_POST['status'], false, $_POST['hostname'], (int) $_POST['client_count'], $_POST['chipset'], $_POST['cpu'], (int) $_POST['memory_total'], (int) $_POST['memory_caching'], (int) $_POST['memory_buffering'], (int) $_POST['memory_free'], $_POST['loadavg'], $_POST['processes'], $_POST['uptime'], $_POST['idletime'], $_POST['local_time'], $_POST['distname'], $_POST['distversion'], $_POST['openwrt_core_revision'], $_POST['openwrt_feeds_packages_revision'], $_POST['firmware_version'], $_POST['firmware_revision'], $_POST['kernel_version'], $_POST['configurator_version'], $_POST['nodewatcher_version'], $_POST['fastd_version'], $_POST['batman_advanced_version']);
     $router_status->store();
     /**Insert Router Interfaces*/
     foreach ($_POST['int'] as $sendet_interface) {
         /**
          * Interface
          */
         //check if interface already exists
         $networkinterface_test = new Networkinterface(false, (int) $_POST['router_id'], $sendet_interface['name']);
         //if interface not exist, create new
         if (!$networkinterface_test->fetch()) {
             $networkinterface_new = new Networkinterface(false, (int) $_POST['router_id'], $sendet_interface['name']);
             $networkinterface_id = $networkinterface_new->store();
         } else {
             $networkinterface_id = $networkinterface_test->getNetworkinterfaceId();
         }
         //save crawl data for interface
         $networkinterface_status = new NetworkinterfaceStatus(false, false, (int) $networkinterface_id, (int) $_POST[router_id], $sendet_interface['name'], $sendet_interface['mac_addr'], (int) $sendet_interface['mtu'], (int) $sendet_interface['traffic_rx'], (int) $traffic_rx_per_second_byte, (int) $sendet_interface['traffic_tx'], (int) $traffic_tx_per_second_byte, $sendet_interface['wlan_mode'], $sendet_interface['wlan_frequency'], $sendet_interface['wlan_essid'], $sendet_interface['wlan_bssid'], (int) $sendet_interface['wlan_tx_power'], false);
         $networkinterface_status->store();
         //TODO: Remove networkinterfaces that are not linked to any status, service, habe no ip addresses and are not marked as protected
         //Update RRD Graph DB
         $rrd_path_traffic_rx = __DIR__ . "/rrdtool/databases/router_{$_POST['router_id']}_interface_{$sendet_interface['name']}_traffic_rx.rrd";
         if (!file_exists($rrd_path_traffic_rx)) {
             //Create new RRD-Database
             exec("rrdtool create {$rrd_path_traffic_rx} --step 600 --start " . time() . " DS:traffic_rx:GAUGE:700:U:U DS:traffic_tx:GAUGE:900:U:U RRA:AVERAGE:0:1:144 RRA:AVERAGE:0:6:168 RRA:AVERAGE:0:18:240");
         }
         $interface_last_endet_crawl = Interfaces::getInterfaceCrawlByCrawlCycleAndRouterIdAndInterfaceName($last_endet_crawl_cycle['id'], $_POST['router_id'], $sendet_interface['name']);