Net :: libdnet.

Bindung für den Libdnet des Guid Songs
Jetzt downloaden

Net :: libdnet. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • Perl Artistic License
  • Preis:
  • FREE
  • Name des Herausgebers:
  • Patrice Auffret
  • Website des Verlags:
  • http://search.cpan.org/~gomor/

Net :: libdnet. Stichworte


Net :: libdnet. Beschreibung

Bindung für den Libdnet des Guid Songs Net :: libdnet ist ein Perl-Modul, das eine vereinfachte, tragbare Schnittstelle auf mehrere Networking-Routinen mit niedrigem Niveau bietet, einschließlich Netzwerkadressenmanipulation, Kernel-ARP-Cache- und Routentabellensuche und -manipulation, Netzwerk-Firewalling, Netzwerkschnittstelle-Lookup und Manipulation, Network Traffic Interception Über Tunnelschnittstellen und RAW-IP-Paket- und Ethernet-Frame-Übertragung. Es dient dazu, die von LibpCap bereitgestellte Funktionen zu ergänzen, die ursprüngliche und veraltete Funktionen zurückgegeben werden, und drucken Sie eine Warnmeldung an den Standardfehler, wenn ein Problem auftritt. Die obsoleten Funktionen sind: addr_cmp, addr_bcast, addr_net, arp_add, arp_delete, arp_get, intf_get_dst, route_add, route_delete, route_et.de osbolete-Funktionen werden weiterarbeiten, um die Kompatibilität rückwärts zu halten, sollte jedoch nicht mehr verwendet werden. Die neue APIs sollte bevorzugt werden. Es gibt zwei neue APIs, eines ist der niedrige Ebene, der libdnet-Funktionen entspricht, und die andere ist eine hochrangige API, die eine perl-Objektorientierte Programmierung entspricht. Dieses neueste ist hochgezentriert.NET:::Libdnet-Modul implementiert die API mit niedrigem Niveau. Die High-Level-API ist mit den folgenden Modulen zugänglich: net :: libdnet :: intf, net :: libdnet :: route, net :: libdnet :: fw, net :: libdnet :: arp, net :: libdnet: : Eth, net :: libdnet :: ip and net :: libdnet :: tun.synopsis # # Dies wird nur alle Funktionen und Konstanten importieren # nutzen net: libdnet; # # Netzwerkschnittstelle Manipulation # # !!! Hinweis: Sie sollten net :: libdnet :: intf stattdessen net :: libdnet qw (: intf); meine $ intf = dnet_intf_open (); meine $ ETH = dnet_intf_get ($ Intf, {intf_name => 'eth0'}); drucken "IP:". $ ETH -> {intf_addr}. \ n "; drucken "Mac:". $ ETH -> {intf_link_addr}. \ n "; mein $ dst = dnet_intf_get_dst ($ Intf, '192.168.0.10'); drucken "Name:". $ dst -> {intf_name}. "\ n"; drucken "IP:". $ dst -> {intf_addr}. \ n "; drucken "Mac:". $ dst -> {intf_link_addr}. \ n '; mein $ src = dnet_intf_get_src ($ Intf, '192.168.0.1'); drucken "Name:". $ src -> {intf_name}. "\ n"; drucken "IP:". $ src -> {intf_addr}. \ n "; drucken "Mac:". $ src -> {intf_link_addr}. \ n '; dnet_intf_close ($ Intf); # # ARP Cache Manipulation # # !!! Tipps: Sie sollten net :: libdnet :: arp stattdessen # verwenden net :: libdnet qw (: arp); mein $ arp = dnet_arp_open (); Mein $ Entry = DNET_ARP_GET ($ ARP, {ARP_PA => '10 .0.0.1 '}); drucken "Mac:". $ Eintrag -> {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 Tischmanipulation # # !!! Hinweis: Sie sollten net :: libdnet :: route stattdessen net :: libdnet qw (: route); Meine $ route = dnet_route_open (); dnet_route_add ($ route, {route_gw => '10 .0.0.1 ', route_dst =>' 192.168.0.1 '}); dnet_route_delete ($ route, {route_gw => '10 .0.0.1 ', route_dst =>' 192.168.0.1 '}); meine $ get = dnet_route_get ($ Route, {route_dst => '192.168.0.10'); drucken "GW:". $ GET -> {route_gw}. \ n "; dnet_route_close ($ route); # # Firewall Regeln Manipulation # # !!! Tipps: Sie sollten net :: libdnet :: fw stattdessen net :: libdnet qw (: fw: consts); mein $ fw = dnet_fw_open (); # Dies ist ziemlich komplex. Diese Regel blockiert TCP als Input auf 10.0.0.1. # Sie sollten net: libdnet :: fw stattdessen verwenden. 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); # # Auf IP-Ebene senden # # !!! Tipps: Sie sollten net :: libdnet :: ip stattdessen net net :: libdnet qw (: ip); mein $ ip = dnet_ip_open (); mein $ roh = "\ x47 \ x47 \ x47 \ x47"; dnet_ip_send ($ ip, $ roh, länge ($ roh)); dnet_ip_close ($ ip); # # Auf Ethernet-Level senden # # !!! Tipps: Sie sollten net :: libdnet :: ETH stattdessen net net :: libdnet qw (: eth); meine $ ETH = dnet_eth_open ('eth0'); dnet_eth_send ($ ETH, $ roh, länge ($ roh)); dnet_eth_close ($ ETH); # # Traffic Interception # # !!! Hinweis: Sie sollten net :: libdnet :: Tun stattdessen net net :: libdnet qw (: tun); mein $ tun = dnet_tun_open ('10 .0.0.10 ',' 192.168.0.10 ', 1500); mein $ buf = dnet_tun_recv ($ TUN, 1500); # DO Sachen mit $ Buf dnet_tun_send ($ Tun, $ BUF, Länge ($ BUF)); dnet_tun_close ($ tun); # # Hash Refs im DNET-Format # MEINE $ INTF = {INTF_ALIAS_NUM => 1, INTF_MTU => 1500, intf_len => 112, intf_type => 6, intf_name => 'eth0', 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 => }; mein $ arp = {arp_pa => '10 .100.0.1 ', arp_ha => '11: 22: 33: 44: 55: 66'}; meine $ 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}; Anforderungen: · Perl.


Net :: libdnet. Zugehörige Software