Zum Inhalt springen

nic_power

Mitglieder
  • Gesamte Inhalte

    3983
  • Benutzer seit

  • Letzter Besuch

Alle Inhalte von nic_power

  1. Hallo, Eine "Instrusion Attack" bedeutet, das jemand versucht, in Dein Netzwerk einzudringen. Allerdings ist die Güte dieser Aussage stark vom verwendeten IDS abhängig, da zum Teil auch Fehlalarme auftreten können. Mit einem IDS kannst Du Angriffe in erster Linie erkennen; um sie zu verhindern, solltest Du eine entsprechend konfigurierte Firewall einsetzen. Nic
  2. nic_power

    Dateiname

    Hallo, einfach einen Zähler mitlaufen lassen und mit "sprintf()" (parameter wie bei printf, liefert jedoch einen string zurück, der entsprechend formatiert ist) den String für den Dateinamen zusammenbauen. Nic
  3. Hallo, eigentlich sollte das per Default eingestellt sein. Ansonsten kannst Du das Verhalten mit dem Kommando "preserve" im ftp-prompt umstellen (zumindest unter Linux). Nic
  4. nic_power

    case-anweisung

    Hallo, hinzu kommt, dass Du mit den falschen Datentypen arbeitest ("%s" erwartet ein "char *" und kein "char" als Eingabe!). Das Switch Statement muss dann ebenfalls entsprechend angepasst werden. Nic
  5. Hallo, Nein, geht nicht. Ein Nullpointer als Return-Wert (beim fopen) bedeutet nur, dass die Datei nicht geöffnet werden konnte. Es ist ein großer Unterschied, ob eine Datei existiert und leer ist oder nicht existiert! Nic
  6. Hallo, Point to Multi-Point Bridge bezieht sich in erster Linie auf die Tatsache, dass Du mehrer Bridges (und nicht nur zwei) miteinander verbinden kannst. Aus diesem Feature läßt sich jedoch nicht schliessen, dass auch noch zusätzlich WLAN Clients connecten können! Nic
  7. Hallo, vmware fehlt in Deiner Liste (daneben gibt es noch "Virtual PC", das läuft allerdings nur unter Windows und MAC-OS). Nic
  8. Hallo, sehr viele nützliche Informationen zum Thema ADSL findest Du auf der folgenden Seite: http://adsl-support0.de/index.html Nic
  9. Hallo, da Du mit long double arbeitest, solltest Du bei der Ausgabe mit "%Lf" bzw. "%Le" arbeiten. Ein cast bei der Zuweisung in das Array kann auch nicht schaden: #include <stdio.h> long double summe(long double *f, int n); int main() { int i,n=5; long double f[n]; for (i=0;i<n;i++) { f[i]=(long double)i; } printf("Summe= %Le\n",summe(f,n)); } long double summe(long double *f, int n) { int zahl=0; long double erg=0.0; for (zahl=0;zahl<n;zahl++) { erg=f[zahl]+erg; } return erg; } [/php] Nic
  10. Hallo, %c liesst nur einen char ein, Du hast jedoch noch das "return" im Tastaturpuffer (das wird dann später sofort eingelesen). Nic
  11. Hallo, was ist denn jetzt Deine konkrete Frage? Nic
  12. Hallo, Das normale Routing reicht aus. Wichtig ist nur, dass der Defaultrouter in Eurem Netz die Route für das 192er Netz kennt. Das kannst Du entweder statisch konfigurieren (ist mit Arbeit verbunden) oder über ein eventuell vorhandenes Routing-Protokoll (sofern ihr ein entsprechendes Protokoll verwendet; die Vorgehensweise hängt stark von Eurem Netzdesign ab). Ein Masquerading ist nicht notwendig, da Du bei korrektem Routing die Server unter den 192er Adressen erreichen kannst und auch ausreichend Adressraum zur Verfügung hast. Anders sieht es allerdings aus, wenn Du die Server unter der 172er Adresse erreichen möchtest (weil beispielsweise die Clients nicht umkonfiguriert werden sollen). Nic
  13. Hallo, %ld ist an dieser Stelle aus zwei Gründen schlicht und ergreifend falsch. Zum einen darf %l nur mit Integers verwendet werden und zum anderen ist %d keine Format für eine Fliesskommavariable! Für Fliesskomma-Arithmetik wird %L verwendet. Korrekt wäre also printf("Summe= %Lf\n",summe(f,n)); [/php] Nic
  14. Hallo, dafür gibt es "stat and friends": #include <sys/types.h> #include <sys/stat.h> #include <unistd.h> int main(int argc, char **argv) { struct stat buf; stat(argv[1], &buf); printf("Dateigroesse=%d Bytes\n", buf.st_size); } [/php] (Achtung, keinerlei Fehlerprüfung im Code!!!) Nic
  15. Hallo, Du benötigst die Quellen für den Linux-Kernel, ohne diese lassen sich die Treiber nicht übersetzen. Du kannst die Quellen problemlos nachinstallieren (bei Suse beispielsweise über Yast->Softwareverwaltung). Nic
  16. Hallo, Eine Anmerkung noch zum Assembler-Code bei der Umsetzung von strlen(). Viele Archtekturen stellen in ihrem Befehlssatz Instruktionen bereit, die die Abrarbeitung von Strings auf Assembler-Ebene unterstützen. Intel implementiert beispielsweise String-Operationen, die die Suche nach einem Null-Byte innerhalb des Strings zulassen. Damit ist eine 1:1 Abbildung des C-Codes auf eine Assemberinstruktion möglich. Die Schleife sähe dann wie folgt aus: repne scasb [/php] Bei HP siehts ähnlich aus, da hier die Load-Befehle die entsprechende Inizierung/Registermodifikation zum zählen unterstützen: [php] strloop: comib,<>,n 0,%r1,strloop ; Vergleich auf Null-Byte ldbs,mb 1(%r28),%r1 ; nächstes Byte in %r1 Laden bv %r0(%r2) ; Rücksprung zum Aufrufer sub %r28,%r26,%r28 ; Differenz berechnen Man sollte bei einer Umsetzung von strlen in Assember den Befehlssatz nach passenden Instruktionen durchsuchen, um optimale Code zu erhalten. Nic PS: Alle Beispiele ungeachtet der Tatsache, dass die Speicherlatenzen beim Byteweisen Laden die größere Bremse sein können. Das würde jetzt aber ein bisschen zu weit führen
  17. Hallo, die Rechweite ist sehr stark von den lokalen Gegebenheiten abhängig, daher ist es schwer eine pauschale Aussage zu machen. Mit zwei Decken dazwischen könnte es aber schon Probleme geben, zumindest musst Du mit Geschwindigkeitseinbussen rechnen. Anschlusstechnisch reicht Dein Equipment, Du kannst über einen AP mehrere WLAN-Karten betreiben. D.h. ein Switch oder HUB ist nur dann notwendig, wenn Du zusätzliche, kabelgebundene Endsysteme an Dein Netz anschliesse möchtest. Viele SoHo-Router mit WLAN haben meist auch noch zusätzlich einen kleinen Switch eingebaut (4 Port). Nic
  18. Hallo, Im Vergleich zu welcher C-Version (und welchen Compiler-Optionen, Compiler, usw)? Was mich bei all den Beispielen wundert ist die Tatsache, dass ein ineffizienter Algorithmus für die Berechnung der String-Länge verwendet wird. Dieser wird auch nicht durch die Implementierung in Assembler schneller (der Code wird eher langsamer, da ein guter C-Compiler im Zweifelsfall die entsprechende Optimierung von selbst durchführt). In allen Code-Beispielen werden zwei Variablen benötigt, die innerhalb der Schleife modifiziert werden. Zum einen der Pointer auf den String und zum anderen eine Zählvariable. Das ist aber völlig unnötig, da uns C die Pointer-Arithmetik geschenkt hat. Nicht umsonst ist im K&R als Beispiel für strlen folgendes Code-Fragment zu finden: int strlen(char *s) { char *p=s; while (*p) p++; return (p-s); } [/php] Im inneren Loop der Schleife wird nur der Pointer erhöht (d.h. man spart sich pro Schleifendurchlauf eine Operation!), die eigentliche Länge des Strings wird später mit genau einer Operation berechnet. Und hier noch ein kleines Assemblerbeispiel für strlen: [php] .section ".text" .align 4 .global myStrlen .type myStrlen,#function myStrlen: mov %o0, %g3 ! pointer retten ! Argument wird in %o0 uebergeben loop: ldsb [%o0], %g2 ! char nach %o0 laden cmp %g2, 0 ! stringende erreicht ? bne,a loop ! nein, dann naechstes zeichen inc %o0 retl ! sprung zum aufrufer sub %o0, %g3, %o0 ! vorher noch laenge berechnen Nic
  19. Hallo, In ANSI-C (nicht C++)? Die getc()/ungetc() ist eine Lösung, die auch ohne C++ laufen sollte. Nic
  20. Hallo, Auch im Sinne der Pointer-Arithmetik ist Fakt, dass diese Aussage schlicht und erfgreifend falsch ist. Es ist ein eklatanter Unterschied, ob strlen() einen Core-Dump produziert oder ein korrektes Ergebnis liefert. Ist synonym. Die Zeigerarithmetik ist integraler Bestandteil der Sprache und einheitlich definiert. Nic
  21. Hallo, Das ganze ist leider etwas fummelig. Du könntest das Zeichen mit "getc()" einlesen und wieder mit "ungetc()" in den Strom zurückschreiben (sofern getc() auch tatsächlich was gelesen hat). Das ist zwar keine sehr elegante Lösung, sollte aber auch mit stdin funktionieren. Nic
  22. Hallo, dafür bietet sich mrtg an: http://people.ee.ethz.ch/~oetiker/webtools/mrtg/ Nic
  23. Hallo, Dem ist nicht so. Man sollte immer die Grenzfälle mit in Betracht ziehen. Schau Dir mal das Verhalten der Funktion an, wenn Du einen Leerstring übergibst! In dem Fall würde strlen() versuchen, ab dem ersten Zeichen nach dem eigentlichen String-Ende die Länge zu ermitteln. Hier noch eine Lösung für das Ursprungsproblem: char * strcpy(char * dest,const char *src) { char *tmp = dest; while ((*dest++ = *src++) != '\0'); return tmp; } Nic
  24. Hallo, beispielsweise mit netperf: http://www.netperf.org/netperf/NetperfPage.html Nic
  25. Hallo, Na, das wird nicht funktionieren (Du addierst 1 auf den Pointer und ermittelst dann die Länge). Nic

Fachinformatiker.de, 2024 by SE Internet Services

fidelogo_small.png

Schicke uns eine Nachricht!

Fachinformatiker.de ist die größte IT-Community
rund um Ausbildung, Job, Weiterbildung für IT-Fachkräfte.

Fachinformatiker.de App

Download on the App Store
Get it on Google Play

Kontakt

Hier werben?
Oder sende eine E-Mail an

Social media u. feeds

Jobboard für Fachinformatiker und IT-Fachkräfte

×
×
  • Neu erstellen...