<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[IP-Addresse inkrementieren]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich habe ein Programm geschrieben, welches in einem Netzwerk, nach-<br />
einander zu einer IPRange, die der Benutzer eingibt, verbindet und dann<br />
anzeigt ob die Pcs an sind. Bei einer IP geht das auch, aber ihr kennt das sicher<br />
mit &quot;inet_bla&quot; und ntoa noths und wie die alle heissen, da kann man die IP<br />
ja in verschiedene Formen bringen, den String kann man ja nicht inkrementieren,<br />
also müsste es mit dem long gehen, aber ich habe so viele verschiedene sachen<br />
probiert. Er Inkrementiert zwar, aber so wird aus 127.0.0.1, nachdem in unsigned long umgewandelt, inkrementiert und wieder zurückgewandelt ein 2.0.0.80.<br />
WEiss jemand wie ich das lösen kann?<br />
Hier: <a href="http://www.pronix.de/pronix-274.html" rel="nofollow">http://www.pronix.de/pronix-274.html</a><br />
steht was von Big und Little Endian, kann das damit was zu tun haben?</p>
<pre><code>address.sin_addr.s_addr++;
inet_ntop(AF_INET, &amp;address, IPstart, 16);
printf(&quot;Ipstart: %s&quot;, IPstart);
</code></pre>
<p>Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/topic/191638/ip-addresse-inkrementieren</link><generator>RSS for Node</generator><lastBuildDate>Sun, 27 Sep 2026 03:13:44 GMT</lastBuildDate><atom:link href="https://www.c-plusplus.net/forum/topic/191638.rss" rel="self" type="application/rss+xml"/><pubDate>Wed, 05 Sep 2007 08:05:33 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to IP-Addresse inkrementieren on Wed, 05 Sep 2007 08:05:33 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>Ich habe ein Programm geschrieben, welches in einem Netzwerk, nach-<br />
einander zu einer IPRange, die der Benutzer eingibt, verbindet und dann<br />
anzeigt ob die Pcs an sind. Bei einer IP geht das auch, aber ihr kennt das sicher<br />
mit &quot;inet_bla&quot; und ntoa noths und wie die alle heissen, da kann man die IP<br />
ja in verschiedene Formen bringen, den String kann man ja nicht inkrementieren,<br />
also müsste es mit dem long gehen, aber ich habe so viele verschiedene sachen<br />
probiert. Er Inkrementiert zwar, aber so wird aus 127.0.0.1, nachdem in unsigned long umgewandelt, inkrementiert und wieder zurückgewandelt ein 2.0.0.80.<br />
WEiss jemand wie ich das lösen kann?<br />
Hier: <a href="http://www.pronix.de/pronix-274.html" rel="nofollow">http://www.pronix.de/pronix-274.html</a><br />
steht was von Big und Little Endian, kann das damit was zu tun haben?</p>
<pre><code>address.sin_addr.s_addr++;
inet_ntop(AF_INET, &amp;address, IPstart, 16);
printf(&quot;Ipstart: %s&quot;, IPstart);
</code></pre>
<p>Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1359189</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1359189</guid><dc:creator><![CDATA[Felixity]]></dc:creator><pubDate>Wed, 05 Sep 2007 08:05:33 GMT</pubDate></item><item><title><![CDATA[Reply to IP-Addresse inkrementieren on Wed, 05 Sep 2007 08:13:32 GMT]]></title><description><![CDATA[<p>Ich würde jede Nummer separat behandeln und die Iteration über eine Modulo Operation abbilden -&gt; [0...254]=zahl % 255</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1359195</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1359195</guid><dc:creator><![CDATA[Winn]]></dc:creator><pubDate>Wed, 05 Sep 2007 08:13:32 GMT</pubDate></item><item><title><![CDATA[Reply to IP-Addresse inkrementieren on Wed, 05 Sep 2007 08:28:30 GMT]]></title><description><![CDATA[<p>hi,<br />
ip-adressen sind 32-bittige unsigned longs, allerdings im 'big-endian' format.<br />
also: vor dem hochzählen mit einer 'little-endian' x86-box solltest du's erstmal umwandeln:</p>
<pre><code>struct in_addr ipaddr;
   ipaddr.S_un.S_addr = inet_addr (&quot;127.0.0.1&quot;); 
   ipaddr.S_un.S_addr = htonl(htonl(ipaddr.S_un.S_addr)+1); // umwandeln vor und nach der addition
   printf (&quot;%s\n&quot;, inet_ntoa(ipaddr));
</code></pre>
<p><img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /><br />
btw: wenn du die zweite stelle hochzählen, willst, dann 0x100 dazu addieren usw.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1359203</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1359203</guid><dc:creator><![CDATA[Undertaker]]></dc:creator><pubDate>Wed, 05 Sep 2007 08:28:30 GMT</pubDate></item><item><title><![CDATA[Reply to IP-Addresse inkrementieren on Wed, 05 Sep 2007 08:52:06 GMT]]></title><description><![CDATA[<p>Hi,<br />
Danke für die Antworten, die erste hab ich leider gar nicht erst kapiert^^,<br />
die zweite habe ich gleich ausprobiert. Allerdings habe ich mich gewundert, warum es</p>
<pre><code>struct in_addr ipaddr;
</code></pre>
<p>heißen soll... Ich habe da &quot;sockaddr_in&quot; und was bringt hton1 ?<br />
Hier mal mein ganzer Code, könntet Ihr mir sagen, wie ich das da jetzt genau machen muss?</p>
<p>[code]<br />
#include &lt;iostream&gt;<br />
#include &lt;sys/types.h&gt;<br />
#include &lt;sys/socket.h&gt;<br />
#include &lt;netinet/in.h&gt;<br />
#include &lt;arpa/inet.h&gt;<br />
#include &lt;unistd.h&gt;<br />
#include &lt;stdlib.h&gt;<br />
#include &lt;stdio.h&gt;<br />
#include &lt;string.h&gt;<br />
#define BUF 1024</p>
<p>int main () {<br />
int sock;<br />
struct sockaddr_in address;<br />
char IPstart[16], IPend[16], lol;</p>
<p>printf(&quot; - Creating Socket.\n&quot;);</p>
<p>if (sock = socket(AF_INET, SOCK_STREAM, 0) &gt; 0)<br />
printf(&quot; - Socket OK.\n\n&quot;);<br />
else {<br />
printf(&quot; - Socketcreation FAILED\n\n&quot;);<br />
return 0;<br />
}</p>
<p>printf (&quot; - IPRange Start: &quot;);<br />
std::cin &gt;&gt; IPstart;<br />
printf(&quot; - OK.\n&quot;);</p>
<p>printf (&quot; - IPRange End : &quot;);<br />
std::cin &gt;&gt; IPend;<br />
printf(&quot; - OK.\n&quot;);</p>
<p>address.sin_family = AF_INET;<br />
address.sin_port = htons(80);<br />
inet_aton (IPstart, &amp;address.sin_addr);</p>
<p>//Hier sollte das inkrementieren drin sein, SChleife mach ich später</p>
<p>inet_ntop(AF_INET, &amp;address, IPstart, 16);<br />
printf(&quot;Ipstart: %s&quot;, IPstart);</p>
<p>if (connect ( sock, (struct sockaddr <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title="*)"
      alt="😉"
    /> &amp;address, sizeof (address)) == 0)<br />
{<br />
printf (&quot; - %s Rechner an\n&quot;, IPstart, ntohs(address.sin_port));<br />
} else {<br />
printf(&quot; - %s Rechner aus\n&quot;, IPstart, ntohs(address.sin_port));<br />
}<br />
close (sock);</p>
<p>return EXIT_SUCCESS;</p>
<p>}<br />
]</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1359217</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1359217</guid><dc:creator><![CDATA[Felixity]]></dc:creator><pubDate>Wed, 05 Sep 2007 08:52:06 GMT</pubDate></item><item><title><![CDATA[Reply to IP-Addresse inkrementieren on Wed, 05 Sep 2007 09:04:26 GMT]]></title><description><![CDATA[<p>Felixity schrieb:</p>
<blockquote>
<p>Allerdings habe ich mich gewundert, warum es</p>
<pre><code>struct in_addr ipaddr;
</code></pre>
<p>heißen soll... Ich habe da &quot;sockaddr_in&quot; und was bringt hton1 ?</p>
</blockquote>
<p>in einer 'sockaddr_in' steckt eine 'in_addr' struct schon mit drin (für die ip-adresse).<br />
das 'htonl' ist der (portable) endian-dreher für 'long' variablen.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1359228</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1359228</guid><dc:creator><![CDATA[Undertaker]]></dc:creator><pubDate>Wed, 05 Sep 2007 09:04:26 GMT</pubDate></item><item><title><![CDATA[Reply to IP-Addresse inkrementieren on Wed, 05 Sep 2007 09:15:55 GMT]]></title><description><![CDATA[<p>Hi,<br />
hton1 scheint der nich zu kennen^^</p>
<blockquote>
<p>error: `hton1' undeclared (first use this function)</p>
</blockquote>
<p>Ist das wichtig zu sagen, dass mit suse 9.3 arbeite <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Auf jeden Fall schon mal vielen Dank für die schnellen antworten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f44d.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--thumbs_up"
      title=":+1:"
      alt="👍"
    /></p>
<p>Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1359238</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1359238</guid><dc:creator><![CDATA[Felixity]]></dc:creator><pubDate>Wed, 05 Sep 2007 09:15:55 GMT</pubDate></item><item><title><![CDATA[Reply to IP-Addresse inkrementieren on Wed, 05 Sep 2007 09:22:27 GMT]]></title><description><![CDATA[<p>Hallo,</p>
<p>htonl -&gt; Buschstabiere -&gt; HA TE O EN EL</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1359245</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1359245</guid><dc:creator><![CDATA[templäd]]></dc:creator><pubDate>Wed, 05 Sep 2007 09:22:27 GMT</pubDate></item><item><title><![CDATA[Reply to IP-Addresse inkrementieren on Wed, 05 Sep 2007 09:43:37 GMT]]></title><description><![CDATA[<p>Oh mann <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f603.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--grinning_face_with_big_eyes"
      title=":D"
      alt="😃"
    /><br />
da hätt ich auch draufkommen können^^,<br />
jetzt kennt er zwar htonL aber:</p>
<pre><code class="language-cpp">address.sin_addr.s_addr = htonl(htonl(address.sin_addr.s_addr)++);
</code></pre>
<p>==&gt;</p>
<blockquote>
<p>error: non-lvalue in increment</p>
</blockquote>
<p>Warum das schon wieder <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /><br />
Danke für die Antowrten <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f609.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--winking_face"
      title=";)"
      alt="😉"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1359263</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1359263</guid><dc:creator><![CDATA[Felixity]]></dc:creator><pubDate>Wed, 05 Sep 2007 09:43:37 GMT</pubDate></item><item><title><![CDATA[Reply to IP-Addresse inkrementieren on Wed, 05 Sep 2007 10:02:32 GMT]]></title><description><![CDATA[<p>Felixity schrieb:</p>
<blockquote>
<p>Warum das schon wieder <img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f615.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--confused_face"
      title=":confused:"
      alt="😕"
    /></p>
</blockquote>
<p>nicht ++, sondern +1.<br />
<img
      src="https://www.c-plusplus.net/forum/plugins/nodebb-plugin-emoji/emoji/emoji-one/1f642.png?v=ab1pehoraso"
      class="not-responsive emoji emoji-emoji-one emoji--slightly_smiling_face"
      title=":)"
      alt="🙂"
    /></p>
]]></description><link>https://www.c-plusplus.net/forum/post/1359278</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1359278</guid><dc:creator><![CDATA[Undertaker]]></dc:creator><pubDate>Wed, 05 Sep 2007 10:02:32 GMT</pubDate></item><item><title><![CDATA[Reply to IP-Addresse inkrementieren on Wed, 05 Sep 2007 18:59:56 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>bin jetzt registriert. Mein Code:</p>
<pre><code class="language-cpp">#include &lt;iostream&gt;
#include &lt;sys/types.h&gt;
#include &lt;sys/socket.h&gt;
#include &lt;netinet/in.h&gt;
#include &lt;arpa/inet.h&gt;
#include &lt;unistd.h&gt;
#include &lt;stdlib.h&gt;
#include &lt;stdio.h&gt;
#include &lt;string.h&gt;
#define BUF 1024

int main () {
  int sock;
  struct sockaddr_in address;
  char IPstart[16], IPend[16], lol;

  printf(&quot; - Creating Socket.\n&quot;);

  if (sock = socket(AF_INET, SOCK_STREAM, 0) &gt; 0)
	printf(&quot; - Socket OK.\n\n&quot;);
  else {
	printf(&quot; - Socketcreation FAILED\n\n&quot;);
	return 0;
  }

  printf (&quot; - IPRange Start: &quot;);
  std::cin &gt;&gt; IPstart;
  printf(&quot; - OK.\n&quot;);

  printf (&quot; - IPRange End  : &quot;);
  std::cin &gt;&gt; IPend;
  printf(&quot; - OK.\n&quot;);

  address.sin_family = AF_INET;
  address.sin_port = htons(80);
  inet_aton (IPstart, &amp;address.sin_addr);

	address.sin_addr.s_addr = htonl(htonl(address.sin_addr.s_addr)+1);

	inet_ntop(AF_INET, &amp;address, IPstart, 16);
        printf(&quot;Ipstart: %s&quot;, IPstart);

	if (connect ( sock, (struct sockaddr *) &amp;address, sizeof (address)) == 0)
  	{
		printf (&quot; - %s Rechner an\n&quot;, IPstart, ntohs(address.sin_port));
   	} else {
		printf(&quot; - %s Rechner aus\n&quot;, IPstart, ntohs(address.sin_port));
  	}
  	close (sock);

  return EXIT_SUCCESS;

}
</code></pre>
<p>Ausgabe:</p>
<blockquote>
<p>PhateCyba@linux:~&gt; cd cpp<br />
PhateCyba@linux:~/cpp&gt; g++ -o scan <a href="http://scan.cc" rel="nofollow">scan.cc</a><br />
PhateCyba@linux:~/cpp&gt; ./scan<br />
- Creating Socket.<br />
- Socket OK.</p>
<p>- IPRange Start: 127.0.0.1<br />
- OK.<br />
- IPRange End : 127.0.0.3<br />
- OK.<br />
Ipstart: 2.0.0.80 - 2.0.0.80 Rechner aus<br />
PhateCyba@linux:~/cpp&gt;</p>
</blockquote>
<p>Dasselbe, wie vorher.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1359302</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1359302</guid><dc:creator><![CDATA[Felixity]]></dc:creator><pubDate>Wed, 05 Sep 2007 18:59:56 GMT</pubDate></item><item><title><![CDATA[Reply to IP-Addresse inkrementieren on Wed, 05 Sep 2007 19:11:48 GMT]]></title><description><![CDATA[<p>OMG<br />
egal ob ich als startaddy<br />
127.0.0.1 oder 123.111.111.1 eingeb und egal ob ich um 1, 10 oder 100 inkrementiere IMMER KOMMT 2.0.0.80 RAUS OMG???????<br />
Kann mir einer sagen was das heisst?</p>
<p>Felix</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1359715</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1359715</guid><dc:creator><![CDATA[Felixity]]></dc:creator><pubDate>Wed, 05 Sep 2007 19:11:48 GMT</pubDate></item><item><title><![CDATA[Reply to IP-Addresse inkrementieren on Wed, 05 Sep 2007 22:13:46 GMT]]></title><description><![CDATA[<p>Hi,</p>
<p>vielleicht guckst du dir einfach mal die Syntax von prinf an. Was soll das tun:</p>
<pre><code>printf(&quot; - %s Rechner aus\n&quot;, IPstart, ntohs(address.sin_port));
</code></pre>
<p>?</p>
<p>Außerdem sehe ich überhaupt keine Schleife? Es soll doch von eine Startadresse bis zu einer Endadresse gescannt werden, oder nicht?</p>
<p>Deine Erhöung wird funktionieren, allerdings würde ich einfach die Zahl umwandeln, um die du die IP-Adresse erhöhen möchtest:</p>
<pre><code>address.sin_addr.s_addr = address.sin_addr.s_addr+htonl(1);
printf(&quot;%s\n&quot;,inet_ntoa(address.sin_addr));
</code></pre>
<p>Dadurch sparst du dir eine Umwandlung.</p>
<p>So, allerdings ist mir auch nicht ganz klar, was die Zeile machen soll:</p>
<pre><code>inet_ntop(AF_INET, &amp;address, IPstart, 16);
</code></pre>
<p>Und nebenbei: Besser du entscheidest dich für C oder C++, beides zu misschen ist nicht gerade sauberer Stil.</p>
]]></description><link>https://www.c-plusplus.net/forum/post/1359826</link><guid isPermaLink="true">https://www.c-plusplus.net/forum/post/1359826</guid><dc:creator><![CDATA[CarstenJ]]></dc:creator><pubDate>Wed, 05 Sep 2007 22:13:46 GMT</pubDate></item></channel></rss>