NET :: LIBDNET

Encuadernación para libdnet de la canción excavada
Descargar ahora

NET :: LIBDNET Clasificación y resumen

Anuncio publicitario

  • Rating:
  • Licencia:
  • Perl Artistic License
  • Precio:
  • FREE
  • Nombre del editor:
  • Patrice Auffret
  • Sitio web del editor:
  • http://search.cpan.org/~gomor/

NET :: LIBDNET Etiquetas


NET :: LIBDNET Descripción

Encuadernación para libdnet de la canción excavada NET :: libdnet es un módulo PERL que proporciona una interfaz portátil simplificada a varias rutinas de redes de bajo nivel, incluidas la manipulación de la dirección de la red, la caché de la red de kernel y la búsqueda de la tabla de rutas y la manipulación, el firewall de la red, la búsqueda de la interfaz de red y la manipulación, intercepción de tráfico de red a través de las interfaces del túnel, y el paquete IP en bruto y la transmisión de marco Ethernet. Está destinado a complementar la funcionalidad proporcionada por LIBPCAP. Todas las funciones originales y obsoletas devuelven un mensaje UNDEF e imprima un mensaje de advertencia al error estándar cuando se produce un problema. Las funciones obsoletas son: addr_cmp, addr_bast, addr_net, arp_add, arp_delete, arp_get, intf_get, intf_get_src, intf_get_dst, route_add, route_delete, route_get.these Funciones de Osbsolete continuará funcionando, para mantener la compatibilidad con versiones anteriores, pero ya no debe utilizarse. Las nuevas API deben ser preferidas. Hay dos nuevas API, una es la de las funciones de LibDNet de bajo nivel, que coinciden y la otra es una API de alto nivel, que coincide con una programación más orientada al objeto Perl. Este último es altamente preferido. El módulo de :Libdnet implementa la API de bajo nivel. Se puede acceder a la API de alto nivel utilizando los siguientes módulos: NET :: LIBDNET :: INTF, NET :: LIBDNET :: Ruta, NET :: libdnet :: fw, net :: libdnet :: arp, net :: libdnet: : ETH, NET :: LIBDNET :: IP y NET :: libdnet :: tun.synopsis # # Esto solo importará todas las funciones y constantes # use net :: libdnet; # # Manipulación de interfaz de red # # !!! Consejo: debe usar NET :: LIBDNET :: INTF en lugar de # Use NET :: LIBDNET QW (: INTF); MIS $ INTF = DNET_INTF_OPEN (); MY $ ETH = DNET_INTF_GET ($ INTF, {intf_name => 'eth0'}); Imprimir "IP:". $ ETH -> {intf_ADDR}. "\ n"; Imprimir "Mac:". $ ETH -> {INTF_LINK_ADDR}. "\ N"; My $ DST = DNET_INTF_GET_DST ($ INTF, '192.168.0.10'); Imprimir "Nombre:". $ DST -> {intf_name}. "\ n"; Imprimir "IP:". $ DST -> {intf_Addr}. "\ n"; Imprimir "Mac:". $ DST -> {intf_link_ADDR}. "\ n"; MY $ SRC = DNET_INTF_GET_SRC ($ INTF, '192.168.0.1'); Imprimir "Nombre:". $ src -> {intf_name}. "\ n"; Imprimir "IP:". $ src -> {intf_addr}. "\ n"; Imprimir "Mac:". $ src -> {intf_link_addr}. "\ n"; dnet_intf_close ($ INTF); # # Arp Cache Manipulation # # !!! Asesoramiento: debe usar Net :: Libdnet :: ARP en lugar de usar Net :: libdnet qw (: arp); My $ arp = dnet_arp_open (); My $ ENTRY = DNET_ARP_GET ($ ARP, {arp_pa => '10 .0.0.1 '}); Imprimir "Mac:". $ Entrada -> {arp_ha}. "\ n"; DNET_ARP_ADD ($ ARP, {arp_ha => '00: 11: 22: 33: 44: 55 ', arp_pa => '10 .0.0.10'}); DNET_ARP_DELETE ($ ARP, {arp_ha => '00: 11: 22: 33: 44: 55 ', arp_pa => '10 .0.0.10'}); dnet_arp_close ($ arp); # # Route Table Manipulation # # !!! Consejo: Debe usar Net :: libdnet :: ruta en su lugar # Use NET :: LIBDNET QW (: Ruta); MY $ RUTA = DNET_ROUTE_OPEN (); dnet_route_add ($ ruta, {route_gw => '10 .0.0.1 ', route_dst =>' 192.168.0.1 '}); dnet_route_delete ($ ruta, {route_gw => '10 .0.0.1 ', route_dst =>' 192.168.0.1 '}); My $ GET = DNET_RUTE_GET ($ ruta, {route_dst => '192.168.0.10'}); Imprimir "GW:". $ GET -> {route_gw}. "\ n"; dnet_route_close ($ ruta); # # Firewall Reglas de la manipulación # # !!! Asesoramiento: debe usar NET :: LIBDNET :: FW en lugar de # Use NET :: LIBDNET QW (: FW: Consts); My $ FW = DNET_FW_OPEN (); # Esto es bastante complejo. Esta regla bloquea TCP como entrada a 10.0.0.1 # Realmente debe usar Net :: Libdnet :: FW en su lugar. DNET_FW_ADD ($ FW, {FW_OP => FW_DIR_IN, FW_PROTO => 6, FW_DST => '10 .0.0.1 '}); DNET_FW_DELETE ($ FW, {FW_OP => FW_DIR_IN, FW_PROTO => 6, FW_DST => '10 .0.0.1 '}); DNET_FW_CLOSE ($ FW); # # Enviar a IP Nivel # # !!! Asesoramiento: debe usar NET :: LIBDNET :: IP # Use NET :: LIBDNET QW (: IP); My $ ip = dnet_ip_open (); My $ RAW = "\ X47 \ X47 \ X47 \ X47"; DNET_IP_SEND ($ IP, $ RAW, LONGITUD ($ RAW)); DNET_IP_CLOSE ($ IP); # # Enviar a nivel Ethernet # # !!! Consejo: Debe usar Net :: Libdnet :: ETH En lugar de usar Net :: libdnet qw (: eth); My $ ETH = DNET_ETH_OPEN ('ETH0'); DNET_ETH_SEND ($ ETH, $ RAW, LONGITUD ($ RAW)); DNET_ETH_CLOSE ($ ETH); # # Intercepción de tráfico # # !!! Consejo: Debe usar Net :: libdnet :: tun # Use NET :: LIBDNET QW (: TUN); My $ tun = dnet_tun_open ('10 .0.0.10 ',' 192.168.0.10 ', 1500); My $ BUF = DNET_TUN_RECV ($ TUN, 1500); # Hacer cosas con $ buf dnet_tun_send ($ tun, $ buf, longitud ($ bUF)); dnet_tun_close ($ tun); # # hash refs en formato Dnet # My $ INTF = {intf_alias_num => 1, intf_mtu => 1500, intf_len => 112, intf_type => 6, intf_name => '' et0 ', intf_dst_addr => undef, intf_link_addr => '00 : 11: 22: 33: 44: 55 ', intf_flags => 49, intf_Addr => '10 .100.0.10 / 24', intf_alias_addrs => }; My $ arp = {arp_pa => '10 .100.0.1 ', arp_ha => '11: 22: 33: 44: 55: 66'}; My $ Route = {Route_GW => '10 .100.0.1 ', Route_DST =>' 0.0.0.0/0 '}; My $ FW = {FW_DIR => 2, FW_SPORT => , FW_DPORT => , FW_SRC => '0.0.0.0/0', FW_DST => '0.0.0.0/0', FW_PROTO => 6, FW_DEVICE => 'ETH0', FW_OP => 2}; Requisitos: · Perl


NET :: LIBDNET Software relacionado

Scgi

para implementar una interfaz SCGI para un servidor de aplicaciones ...

162

Descargar