Wie kriege ich die eigene Netzmaske raus?
-
moin, moin
versuche seit 2 Stunden irgendwie rauszubekommen, auf welche Weise die
Netzmaske des eigenen Rechners zu erfahren sei.
Programmiere auf VC6 mit winsock2, und muss feststellen, ob es sinnvoll ist, an eine bestimmte Client IP einen Ping zu senden. Geht natürlich nur wenns das gleiche Netz ist. Hat jemand 'nen Tip?
Ist die Struktur 'netent' aus der winsock dazu zu gebrauchen?Danke für Eure Hilfen
arni
(habe mein Passwort vergessen, deswegen steht oben ein anderer Benutzername)
-
karl_egon schrieb:
Programmiere auf VC6 mit winsock2, und muss feststellen, ob es sinnvoll ist, an eine bestimmte Client IP einen Ping zu senden. Geht natürlich nur wenns das gleiche Netz ist.
Wenn irgendwo im Netzwerk ein Router hängt, funktioniert dein Konzept nicht mehr.
Man kann IMHO nicht im voraus entscheiden, ob ein Ping "sinnvoll" ist (außer in Trivialfällen), ohne die ganze Netztopologie zu kennen.
-
Stimmt natürlich cd9000, es ist nur eine mögliche Methode um das Vorhandensein bestimmter Geräte zu verifizieren, halt 'ne schnelle. Über Routergrenzen komme ich nicht hinweg. Aber es wäre sinnvoll, die Netzmaske vorher rauszubekommen, bevor man überhaupt testet, ob diese Methode zum Erfolg führt.
Weis denn niemand wie man bei der SocketProgrammierung die eigene Subnet-Einstellung abfragt?
Das wäre schon gut zu wissen,
danke
arni
-
Schlagt mich nicht tot, wenn ich jetzt totalen sch... schreibe,
ipconfig liest mir die PC-IP mit Maske aus.
pt
-
@plc_tippser
stimmt schon, aber wie mache ich das aus einem C/C++ Programm unter win32 mit VC6?
Möglicherweise würde system() oder ein shell-Aufruf weiterhelfen, will ich aber aus Sicherheitsgründen vermeiden.
jemand ne Ahnung?
Dann sags mir bitte.
Danke
arniPS. karl_egon ist identisch mit arni, hatte nur mein Password vergessen.
-
Hallo,
ein Beispiel, mit dem man die TCP/IP-Konfiguration auslesen kann, gibt es hier
MfG
-
Das wäre schon echt gut, habe versucht es zu compilieren, konnte aber dazu die iphlpapi.h und iphlpapi.lib nirgends finden. Sie war auch durch die Suchfunktion auf der MSN Seite nicht aufzutreiben. Hast du vielleicht auch noch 'nen Tip, wo ich die Bibliothek herbekommen kann?
Danke
arni
-
Hi,
kenn mich damit 0% aus, aber hier hab ich gelesen, dass es die bei Platform SDK mitgeliefert gäbe, wenn ich das richtig verstanden hab
Vll konnte das ja etwas helfen
-
Danke für den Hinweis, habe mir den Thread durchgelesen, konnte jedoch nichts mit machen, weil die iphlpapi.h und iphlpapi.lib schlichtweg nicht zu finden sind. Habe auch bei Kollegen, die ebenfalls VC6 und SDK auf dem Rechner installiert haben, gesucht. Wie bei einigen Antworten auf den Thread in Codeguru (ist ja mittlerweile richtig mit Werbung zugepflastert) hat niemand diese LIB zur Verfügung. Wenn mir jemand ein Zipfile mit der Bibliothek zur Verfügung stellen könnte, wäre richtig gut. eMail-Adresse ist im Profil hinterlegt.
Hat sie einer von euch auf'm Rechner?
Bitte mach dir die Mühe und schick mir den Kram.
Danke
arni
-
-
@surf
das war gut, danke für den Tip habe sie runtergeladen und mittlerweile rausbekommen, warum die bei uns nicht vorhanden sind: Service Pack 6 für VisualStudio muss wohl installiert sein, obs der 5er tut, weis ich im Moment nicht. Jedenfalls nudelt jetzt der 6er ServicePack runter auf die Platte.habe mal mit dumbin die ganzen exportierten Funktionen ausgelesen:
Section contains the following exports for iphlpapi.dll
0 characteristics
3D6F1E80 time date stamp Fri Aug 30 09:28:00 2002
0.00 version
1 ordinal base
117 number of functions
117 number of namesordinal hint RVA name
1 0 00007767 AddIPAddress
2 1 0000380F AllocateAndGetArpEntTableFromStack
3 2 0000180A AllocateAndGetIfTableFromStack
4 3 00008FF8 AllocateAndGetIpAddrTableFromStack
5 4 000011F4 AllocateAndGetIpForwardTableFromStack
6 5 0000933E AllocateAndGetIpNetTableFromStack
7 6 0000905D AllocateAndGetTcpTableFromStack
8 7 000091C8 AllocateAndGetUdpTableFromStack
9 8 000067CD CreateIpForwardEntry
10 9 00006964 CreateIpNetEntry
11 A 00006BC9 CreateProxyArpEntry
12 B 00007833 DeleteIPAddress
13 C 00006879 DeleteIpForwardEntry
14 D 00006A1B DeleteIpNetEntry
15 E 00006CBF DeleteProxyArpEntry
16 F 00007B7E EnableRouter
17 10 00006A6C FlushIpNetTable
18 11 0000969F FlushIpNetTableFromStack
19 12 0000767C GetAdapterIndex
20 13 00001DDC GetAdapterOrderMap
21 14 00001F76 GetAdaptersInfo
22 15 00004510 GetBestInterface
23 16 00004571 GetBestInterfaceFromStack
24 17 00006B7F GetBestRoute
25 18 00009AB5 GetBestRouteFromStack
26 19 00006DB5 GetFriendlyIfIndex
27 1A 00001A9F GetIcmpStatistics
28 1B 00001AF0 GetIcmpStatsFromStack
29 1C 0000671B GetIfEntry
30 1D 00008C58 GetIfEntryFromStack
31 1E 000042D9 GetIfTable
32 1F 00004049 GetIfTableFromStack
33 20 00007579 GetIgmpList
34 21 00001C53 GetInterfaceInfo
35 22 000045B4 GetIpAddrTable
36 23 0000469A GetIpAddrTableFromStack
37 24 00006287 GetIpForwardTable
38 25 0000126A GetIpForwardTableFromStack
39 26 00006146 GetIpNetTable
40 27 000093D4 GetIpNetTableFromStack
41 28 00004288 GetIpStatistics
42 29 00001CE7 GetIpStatsFromStack
43 2A 00007C69 GetNetworkParams
44 2B 0000421A GetNumberOfInterfaces
45 2C 000013B6 GetPerAdapterInfo
46 2D 00007948 GetRTTAndHopCount
47 2E 0000192B GetTcpStatistics
48 2F 0000197C GetTcpStatsFromStack
49 30 00006399 GetTcpTable
50 31 000090BA GetTcpTableFromStack
51 32 000019E5 GetUdpStatistics
52 33 00001A36 GetUdpStatsFromStack
53 34 000064B9 GetUdpTable
54 35 00009222 GetUdpTableFromStack
55 36 00007573 GetUniDirectionalAdapterInfo
56 37 00007311 InternalCreateIpForwardEntry
57 38 0000744A InternalCreateIpNetEntry
58 39 0000739F InternalDeleteIpForwardEntry
59 3A 000074CA InternalDeleteIpNetEntry
60 3B 00006E79 InternalGetIfTable
61 3C 00006F63 InternalGetIpAddrTable
62 3D 000070C3 InternalGetIpForwardTable
63 3E 00007012 InternalGetIpNetTable
64 3F 00007177 InternalGetTcpTable
65 40 00007226 InternalGetUdpTable
66 41 000072CE InternalSetIfEntry
67 42 00007358 InternalSetIpForwardEntry
68 43 0000748A InternalSetIpNetEntry
69 44 0000740C InternalSetIpStats
70 45 00007524 InternalSetTcpEntry
71 46 00007CCA IpReleaseAddress
72 47 00007D1C IpRenewAddress
73 48 00007A5E IsLocalAddress
74 49 0000B26E NTPTimeToNTFileTime
75 4A 0000B1B7 NTTimeToNTPTime
76 4B 00008723 NhGetGuidFromInterfaceName
77 4C 000086CE NhGetInterfaceNameFromGuid
78 4D 00008EC1 NhpAllocateAndGetInterfaceInfoFromStack
79 4E 00008E1D NhpGetInterfaceIndexFromStack
80 4F 000018B1 NotifyAddrChange
81 50 00007AD9 NotifyRouteChange
82 51 00007AEB NotifyRouteChangeEx
99 52 00007D6E SendARP
100 53 0000BDC5 SetAdapterIpAddress
101 54 000075BE SetBlockRoutes
102 55 0000675D SetIfEntry
103 56 00008CF8 SetIfEntryToStack
104 57 00006823 SetIpForwardEntry
105 58 00009899 SetIpForwardEntryToStack
106 59 0000997C SetIpMultihopRouteEntryToStack
107 5A 000069CA SetIpNetEntry
108 5B 000095C7 SetIpNetEntryToStack
109 5C 0000990D SetIpRouteEntryToStack
110 5D 00006913 SetIpStatistics
111 5E 0000953A SetIpStatsToStack
112 5F 000068D6 SetIpTTL
113 60 000096E4 SetProxyArpEntryToStack
114 61 0000762D SetRouteWithRef
115 62 00006ACC SetTcpEntry
116 63 0000915C SetTcpEntryToStack
117 64 00007C03 UnenableRouter
83 65 00009BC6 _PfAddFiltersToInterface@24
84 66 00009C90 _PfAddGlobalFilterToInterface@8
85 67 00009DFB _PfBindInterfaceToIPAddress@12
86 68 00009D3B _PfBindInterfaceToIndex@16
87 69 00009B92 _PfCreateInterface@24
88 6A 00009BB5 _PfDeleteInterface@4
89 6B 00009FA9 _PfDeleteLog@0
90 6C 00009F69 _PfGetInterfaceStatistics@16
91 6D 00009F32 _PfMakeLog@4
92 6E 00009EA2 _PfRebindFilters@8
93 6F 00009C53 _PfRemoveFilterHandles@12
94 70 00009C0E _PfRemoveFiltersFromInterface@20
95 71 00009CCA _PfRemoveGlobalFilterFromInterface@8
96 72 00009F43 _PfSetLogBuffer@28
97 73 00009FEB _PfTestPacket@20
98 74 00009D04 _PfUnBindInterface@4Finde, dass ist schon ein großer fundus an Funktionen, der dort bereitgestellt wird. Zur Einbindung sind ja auch bei den links hier im Thread schon Beispiele dabei.
Eine kleine Bitte hätte ich noch:
wer hat die iphlpapi.h Headerdatei? Da stehen oft interessante Kommentare drin, die man über einen Dump der Exporte der dll natürlich nicht zu sehen bekommt.
Wenn die jemand hat ...
danke arni
-
Hai ,
habe jetzt die Quelle gefunden und wo wohl?
natürlich hier im Forum (MFC mit dem Visual C++).
Da findet sich der folgende Tip.. schrieb:
@noc: Lad dir das Platform SDK runter. Dort ist die Datei bei.
http://www.microsoft.com/msdownload/platformsdk/sdkupdate/
Sollte sowieso jeder Windows-Entwickler haben.
Ist aber groß.
Habe ich mal SDK upgedatet und schwupps, sind alle Bibliotheken da.
Also danke an alle, die mit Ihren Tipps Schritt für Schritt zur Problemlösung beigetragen haben.
arni