Home | Chi sono | Contattami
 

Progr. lineare

Delphi
  Componenti
  Database

 
Miei articoli

Windows

Miei articoli 

 

IPHLPAPI
Visual Basic

http://support.microsoft.com/?kbid=223025

API principali: GetAdaptersInfo,GetNetworkParams (iphlpapi.dll)
Strutture principali: IP_ADAPTER_INFO, FIXED_INFO, IP_ADDR_STRING
 

Esempio di utilizzo di GetAdaptersInfo in Visual C++

http://www.codeguru.com/Cpp/I-N/network/networkinformation/article.php/c5407/

 

Determinare tutti gli indirizzi IP di tutti i server DHCP in Visual Basic

Determining All IP Addresses for All DHCP Servers

API principali: GetAdaptersInfo (iphlpapi.dll)
Strutture principali: IP_ADAPTER_INFO, IP_ADDR_STRING
 

Verificare se DHCP Ŕ abilitato in Visual Basic

Determining if DHCP is Enabled

API principali: GetAdaptersInfo (iphlpapi.dll)
Strutture principali: IP_ADAPTER_INFO, IP_ADDR_STRING
 

Indirizzo IP del server dhcp in Visual Basic

Determining the DHCP Server IP Address

API principali: GetAdaptersInfo (iphlpapi.dll)
Strutture principali: IP_ADAPTER_INFO, IP_ADDR_STRING
 

Determinare l' indirizzo IP di tutte le interfacce di rete in Visual Basic

Determining All Local IP Addresses for All Installed Adapters

API principali: GetAdaptersInfo (iphlpapi.dll)
Strutture principali: IP_ADAPTER_INFO, IP_ADDR_STRING
 

Ottenere l' indirizzo IP di tutti i DNS Server ed in particolare l' indirizzo IP del DNS Server corrente in Visual Basic

Determining Current and Available DNS Servers

API principali: GetNetworkParams (iphlpapi.dll)
Strutture principali: FIXED_INFO, IP_ADDR_STRING
 

Esempio in Visual C++ di utilizzo di alcune delle IPHLPAPI: informazioni sulle interfacce di rete, release e renew di una interfaccia di rete (corrispondente ad abilita/disabilita nel men¨ contestuale relativo all' interfaccia di rete in "risorse di rete")

The "New ipconfig" and the IP Helper API

API principali: GetAdaptersInfo, GetPerAdapterInfo, IpReleaseAddress, IpRenewAddress
Strutture principali: IP_ADAPTER_INFO, IP_ADDR_STRING
 

Esempio notevole di utilizzo delle IPHLPAPI (riferimenti a quasi tutte) in Visual C++

http://www.codeproject.com/internet/IPHelper.asp

API principali: GetIpNetTable, GetIpAddrTable, GetIpForwardTable, GetIpStatistics, GetBestInterface, GetBestRoute, NotifyRouteChange, NotifyAddrChange, SendARP, GetUdpTable, GetIcmpStatistics, GetInterfaceInfo, GetNetworkParams, GetPerAdapterInfo, GetNumberOfInterfaces, GetRTTAndHopCount, GetTcpStatistics, GetTcpTable, GetUdpStatistics

 

Informazioni su nomehost (gethostname), protocolli di rete installati (WSAEnumProtocols), informazioni pricipali sulle interfacce di rete, etc... in Visual C++

http://www.codeproject.com/internet/my_ip_-_v2.asp

 

Statistiche TCP/IP/UDP, informazioni sulle interfacce di rete, tabella ARP e tabella ROUTE in Visual C++

http://www.codeproject.com/internet/winnetstat.asp

API principali:

GetIfTable: caratteristiche fisiche du tutte le interfacce di rete.
GetIfEntry: caratteristiche di una interfaccia di rete specifica.
SetIfEntry: aggiorna lo stato operativo di una interfaccia di rete: abilitata, disabilitata.
SetIpTTL: imposta il campo TTL per tutti i pacchetti IP inviati dal tuo sistema.

GetIPAddrTable: informazioni sull' indirizzo IP

GetIpNetTable: informazioni sulla tabella ARP
SetIpNetEntry: aggiunge un elemento alla tabella ARP
DeleteIpNetEntry: elimina un elemento dalla tabella ARP

GetIpForwardTable: informazioni sulla tabella di routing
SetIpForwardEntry: aggiunge un elemento alla tabella di routing
DeleteIpForwardEntry:elimina un elemento dalla tabella di routing
GetRTTAndHopCount: determina l' RTT (round trip time) ed il numero di punti di passaggio (hop count) verso la destinazione specificata

GetIpStatistics: statistiche Ip
GetIcmpStatistics: statistiche Icmp
: statistiche Tcp
GetUdpStatistics: statistiche Udp

N.B le stesse funzioni con un Ex alla fine del nome raccolgono le statistiche relativamente al protocollo IPv6.

 

Esempio di utilizzo delle IPHLPAPI: creazione di un clone di netstat.exe (GetTcpTable, GetUdpTable) comprensivo di statistiche IP ICMP TCP e UDP (GetIpStatistics,  GetIcmpStatistics, GetTcpStatistics, GetUdpStatistics) in Visual C++

http://www.codeproject.com/internet/tcpinfo.asp

 

Clone di nestat in Visual C#: molto approfondito

http://www.codeproject.com/KB/IP/iphlpapi.aspx

API principali:

GetTcpTable, GetUdpTable: elenco delle connessioni TCP e UDP;

GetTcpStatistics, GetUdpStatistics: statistiche TCP e UDP

AllocateAndGetTcpExTableFromStack, AllocateAndGetUdpExTableFromStack: punto forte dell' articolo; queste 2 api win32 non documentate consentono di ottenere il Process ID del processo che detiene la connessione UDP o TCP.

 

Clone di nestat.exe analogo a quello esposto nel link appena sopra ma in Italiano

http://pmode.impazz.it/tuts/xp_nstat.htm

API principali:

GetTcpTable, GetUdpTable: elenco delle connessioni TCP e UDP;

GetTcpStatistics, GetUdpStatistics: statistiche TCP e UDP

AllocateAndGetTcpExTableFromStack, AllocateAndGetUdpExTableFromStack: Process ID del processo che detiene la connessione (TCP o UDP)

 

Un altro clone di netstat con la funzionalitÓ di ricavare il processo che detiene una connessione

http://www.codeproject.com/internet/enetstatasp.asp

API principali:

GetTcpTable, GetUdpTable: elenco delle connessioni TCP e UDP;

GetTcpStatistics, GetUdpStatistics: statistiche TCP e UDP

AllocateAndGetTcpExTableFromStack, AllocateAndGetUdpExTableFromStack: Process ID del processo che detiene la connessione (TCP o UDP)

 

Buona panoramica sulle IPHLPAPI: in C++

http://www.developer.com/ws/pc/article.php/10947_3406411_1

 

Programmi in Delphi che usano le IPHLPAPI:

"Delphi TCP/IP Connection Logger": clone di netstat.exe

"Delphi TCP/IP Connection Logger": elenca le connessioni (come netstat.exe) ma contiene anche numerose informazioni aggiuntive (tabella ARP, tabella di routing, enumerazione interfacce di rete, statistiche IP ICMP TCP UDP, informazioni sulle interfacce di rete, calcolo del Round Trip Time (RTT) e dell' Hop Count, etc...

http://users.pandora.be/dirk.claessens2/software.htm

API utilizzate

GetAdaptersInfo, GetNetworkParams, GetTcpTable, GetTcpStatistics, GetUdpTable, GetUdpStatistics, GetIpStatistics, GetIpNetTable, GetIpAddrTable, GetIpForwardTable, GetIcmpStatistics, GetRTTAndHopCount, GetIfTable, GetIfEntry, GetFriendlyIfIndex
 

Esempio di utilizzo delle IPHLPAPI (incentrato suille statistiche) sfornato da Delphi About

http://delphi.about.com/library/weekly/aa112903a.htm

 

Clone di IPCONFIG fatto dal sottoscritto

Programmazione Delphi- Enumerare le interfacce di rete con relative caratteristiche

API principali: GetAdaptersInfo, GetPerAdapterInfo,

Strutture principaliIP_ADAPTER_INFO, IP_ADDR_STRING, IP_PER_ADAPTER_INFO, MIB_IPADDRTABLE
 

Ulteriore esempio di come elencare le connessioni e ricavare anche il processo associato alla connessione: rispetto ai 2 esempi precedenti c' Ŕ anche la dritta su come determinare il processo tramite l' API nativa NtQuerySystemInformation

http://www.planetsourcecode.com/URLSEO/vb/scripts/ShowCode!asp/txtCodeId!1455/lngWid!7/anyname.htm

 

Dal famoso Delphi-Jedi: tra le conversioni dei file .h nelle corrispondenti unit .pas, troviamo anche la unit .pas di traduzione del file iphlpapi.h contenente le dichiarazioni di tutte le IPHLPAPI e dei tipi ad esse relativi per l' utilizzo delle IPHLPAPI da Delphi:

http://jedi-apilib.sourceforge.net/

 

Rilevare le variazioni alla configurazione delle interfacce di rete (altro umile contributo del sottoscritto). Implementato come servizio, con in aggiunta la funzionalitÓ di comunicare via email il cambio di configurazione (ad esempio cambia l' indirizzo IP assegnato al sistema da un server DHCP e si comunica ad un indirizzo email il nuovo indirizzo IP)

http://pasotech.altervista.org/delphi/articolo28.htm

API principali: NotifyAddrChange, GetIpAddrTable

 

Packet Filtering con le IPHLPAPI in C++ e C# su piattaforma .NET

http://www.codeproject.com/managedcpp/packetfilteringnet.asp

 

Netstat avanzato con funzionalitÓ di Packet Filtering e Packet Sniffing; consente anche la chiusura di una connessione tramite l' api SetTcpEntry; in Visual C++.

http://www.codeproject.com/internet/enetstatasp.asp

 

  Unit Pascal di traduzione dell' header fltdefs.h per l' utilizzo delle api di Packet Filtering in Delphi (dal sottoscritto)

fltdefs.pas

 

   
   
   
   
   
   
   
   
   
   
   
   
Your Ad Here