Windows hat keinen Netzwerkzugriff auf IPV4, dafür aber IPV6?

Guten Abend,

ich habe seit mehreren Tagen das Problem, das mein IPV-4 kein Netzwerkzugriff hat. Dafür aber mein IPV-6, was erklären würde warum manche Seiten mir als "Unreachable" angezeigt werden und andere nicht (Die nur IPV6 brauchen).

Ich habe bisher bei CMD alles mit ipconifg, winsock, netsh etc etc probiert nach mehreren Neustarts. Nichts. Habe auch meinen Router ausgestöpselt und Neustart gedrückt (Hab noch nicht auf Reset gedrückt). Auch nichts.

Dieses Problem kam irgendwann aus dem nichts. Ich habe Windows komplett neu aufgesetzt aber das Problem besteht immernoch. Es betrifft NUR meinen Windows Rechner. Macbook, Smartphone etc hat keine Probleme. In unserer Nachbarschaft sind aktuell Bauarbeiten für Glasfaser (Bei dem wir nicht zugesagt haben).

Ich habe keine Manuelle DNS, und mein DHCP ist aktiviert.

Nutze auch keinen VPN oder Antivirus. WENN mein IPV4 "Internet" anzeigt sowie IPV6, dann laden die Seiten manchmal so lange bis zu einem Timeout. Also obwohl es mit 72,2mbit/s anzeigt, ist es viel weniger als das.

Hab auch versucht die DNS zu Google DNS zu ändern, auch nichts. Speedport zeigt mir an das ich mit dem Internet verbunden bin. Telefonie funktioniert auch etc etc.

Hat jemand eventuell eine Lösung wie ich IPV4 wieder aktivieren kann???

Als letzte Option müsste ich eventuell meinen Anbieter anrufen oder einen techniker kommen lassen. Irgendwie muss es ja wieder funktionieren.

Bild zu Frage
Server, Internet, Windows, Betriebssystem, WLAN, Internetverbindung, Technik, Netzwerk, IT, programmieren, DNS, Informatik, Informatiker, IP-Adresse, IPv6, LAN, Netzwerktechnik, Port, Router, Telekom, Windows 8, WLAN-Router, IPv4, Windows 10, Windows 11
php-Zugriff auf mysql funktioniert nicht?

Ich habe folgende Funktion in PHP geschrieben:

function getName($id) {
                global $conn;
                $sql = "SELECT Vorname, Nachname FROM mitglieder WHERE ID = `$id`";
                $result = $conn->query($sql);
                if ($result->num_rows > 0) {
                    $row = $result->fetch_assoc();
                    return $row['Vorname'] . " " . $row['Nachname'];
                } else {
                    return "";
                }
            }

Aber aus irgendeinem Grund kommt immer folgende Fehlermeldung:

Warning: Attempt to read property "num_rows" on bool in C:\xampp\htdocs\***********.php on line 35

Diese Variable $conn funktioniert aber an anderer Stelle im globalen Code außerhalb dieser Funktion einwandfrei wie gewünscht und ich sehe vom Code her keinen nennenswerten Unterschied.

Was ich bereits versucht habe:

  • $conn als Parameter an die Funktion zu übergeben
  • $conn in der Funktion selber zu definieren
  • $conn in der Funktion selber definieren und dass $conn im globalen Code entfernen
  • ChatGPT nach dem Fehler fragen
  • Folgende Fehlerabfrage einzubauen (dabei war $conn auch in der Funktion selber und NUR in der Funktion selber definiert):
if ($conn->connect_error) {
                die("Serverfehler: " . $conn->connect_error);
            }

Das führte aber nur zu folgender Fehlermeldung:

Warning: Attempt to read property "connect_error" on null in C:\xampp\htdocs\*********.php on line 26

Hat alles nichts geholfen. Wisst ihr wo der Fehler liegt?

Computer, Technik, SQL, HTML, Webseite, programmieren, JavaScript, Code, Datenbank, MySQL, PHP, Programmiersprache, Webentwicklung, phpMyAdmin, Programmierfehler
MS Excel Problem?

Ich soll in der Arbeit eine Datenanalyse mit MS Excel durchführen. Ei dafür notwendiger Zwischenschritt ist es, die "Ist-Ankunftszeit" von Bussen von der "Soll-Ankunftszeit" eben dieser Züge zu subtrahieren (um die Verspätungen auszuwerten). Die Zellen, in denen diese Daten stehen, sind als "Standard" formatiert und sehen so aus:

2024-02-09T13:34

Teils steht auch noch die Sekundenzahl bei der Uhrzeit dabei, aber auch nicht immer (teils steht sie sogar bei der Sollzeit dabei und bei der Istzeit nicht, was auch noch so ein Aspekt ist). Ich will eben die Differenz von zwei solchen (oben in schwarz dargestellten) Daten bilden, um die Verspätung zu erhalten. Natürlich klappt das so erstmal nicht, es kommt die Fehlermeldung "Wert". Ich hab dann versucht, die entsprechenden Zellen als Zahl, Datum oder auch benutzerdefiniert zu formatieren, dennoch erhalte ich bei der Subtraktion immer den obigen Fehler. Excel erkennt halt nicht, was es tun soll. Auch die Funktion Datevalue hat mir nicht geholfen. Meines Erachtens sind die Daten bei uns da einfach schlecht aufbereitet^^

Hat jemand eine schlaue Idee, wie ich das Problem lösen kann?

Händisch einzeln ändern geht übrigens nicht, meine Exceltabelle hat 200.000 Zeilen, es geht hier um große Datenmengen.

Schönes Wochenende euch :)

PC, Computer, Arbeit, Microsoft Word, Software, Microsoft, Microsoft Excel, Mathematik, IT, Microsoft Office, programmieren, VBA, Datenanalyse, Formel, Medien, Programmiersprache, Tabellenkalkulation, Excel-Formel, Office 365
Warum nutzen wir alle nicht wieder alte Software?

Jetzt mal Hand aufs Herz. Wir wollen doch alle Geschwindigkeit oder nicht. Warum das also wegwerfen? Man könnte ja zumindest nutzen was schon erreicht wurde.

Ich weiß gleich kommen die folgenden Argumente:

- Es lohne sich nicht, da Hardware günstiger sei:

-> Das stimmt nicht. Milliarden Nutzer * 1500€ sind mehr als die Entwicklungskosten einee optimierung. Außerdem wäre das Wirtschaft und es heißt ja ComputerSCIENCE

- Es sei nicht nötig sich die Mühe zu machen da Computer das heute alles packen:

-> Das sah bei GTA6 jetzt nicht so aus! Und was ist mif skalierungsmöglichkeiten, Multitasking und Massendatenverarbeiting, Ernergiekosten, Überlastungen von Rechensystemen... Umweltschutz und Die Herstellung neuer Computerbauteile?

- Es liegt alles an OOP und Web:

-> Das gibts es schon ewig. Es erklärt nicht so wirklich viel davon.

- Geplante Alterung sei Notwendig da die Firmen sonst Pleite gehen:

-> Den Firmen die das tun platzt das Geld aus den Hosentaschen. Und außerdem geht das auch anders. Man kann auch alle paar Jahre eine Lizens erneuern oder es teuerer machen, aber ich denke nicht das Geld das Problem ist? Selbst wenn - Es wird immer zwischen den Themen herumgeschaukelt. Ich sehe das schon, Ich bin nicht auf den Kopf gefallen.

- Zeit zur Veröffentlichung und Marketing sei wichtiger:

-> Ich sprach nicht von dem Azubi nem Becker seine Webseite erstellt.

- Es war früher nicht schneller:

-> Doch war es erinnere dich bitte

- Die Hardware kann nicht mehr:

-> Doch kann Sie, alte Software beweißt es.

- Linux sei die Lösung

-> Schön wärs. Leider nur leichter aber nicht schneller.

- Treiber kann man nicht schreiben:

-> Wenn man sich nicht drüber unrerhällt kann man auch nichts gewinnen. Nicht versucht ist schon verloren.

Ds wird immer ständig zwischen diesen Punkten herumgereicht.

Hab ich was vergessen? Nun Realtalk mal bitte, es muss sich doch was ändern! Ihr könnt mir nicht erzählen das ihr das so wollt...

Computer, Computerspiele, Software, Windows, Microsoft, Studium, Technik, Linux, CPU, Grafikkarte, Hardware, Elektronik, HTML, programmieren, Business, RAM, Wissenschaft, Gaming, Anwendungsentwicklung, Assembler, developer, Industrie, Informatik, Python, Softwareentwicklung, Treiber, Software Update, Technologie und Wirtschaft
Wie kriege ich mit ROP einen "/bin/sh" Pointer in rdi?

Ich versuche, rücksprungorientierte Programmierung (ROP) zu lernen.

Und zwar habe ich ein Programm mit einem Pufferüberlauf auf dem Stack, und ich möchte das Programm dazu bringen, /bin/sh zu öffnen.

Das geht mit dem execve Syscall, wenn ich die richtigen Instruktionen finden kann, um die Funktionsparameter vorzubereiten. Das ist die Signatur von execve:

int execve(const char *pathname, char *const _Nullable argv[], char *const _Nullable envp[]);

Also muss ich die folgenden Register setzen:

  • rax = 0x3b (Syscallnummer von execve)
  • rdi = "/bin/sh" Pointer
  • rsi = NULL
  • rdx = NULL

Die folgenden Instruktionen habe ich bereits gefunden:

pop rax ; ret
pop rdi ; ret
pop rsi ; ret
pop rdx ; ret
syscall

Ich kann also die Instruktionen und Registerwerte mit dem Pufferüberlauf auf den Stack schreiben und so meine Register füllen. Das Problem ist aber, dass ich einen "/bin/sh" Pointer in rdi brauche (also nicht "/bin/sh" im Register, sondern eine Speicheradresse, an der "/bin/sh" steht).

Ich kann natürlich "/bin/sh" in den Puffer auf dem Stack schreiben, aber leider ist die Speicheradresse jedes Mal anders und ich kenne sie vorher nicht.

Ich weiß, dass "/bin/sh" in libc vorkommt, aber auch dort ist die Speicheradresse jedes Mal anders und ich kenne sie vorher nicht.

Wie komme ich also an einen "/bin/sh" Pointer? Gibt es Tricks oder bestimmte Instruktionen, nach denen ich mich umsehen sollte?

hacken, Hack, Programm, programmieren, pointer, Assembler, Hacker, Hacking, Informatik, IT-Sicherheit, Shell, stack, x64, assemblersprache, Assembly, Exploit, hacken lernen, IT-Sicherheitsexperte, Register, Capture The Flag
Clean Code und (vs?) Strukturierte Programmierung?

Als Anwendungsentwickler kenne ich natürlich beide Begrifflichkeiten. Mir ist allerdings aufgefallen, besonders auch in Bezug eines Clean-Code-Seminars, dass anscheinend innerhalb von Clean-Code das Thema strukturierte Programmierung keine Erwähnung zu finden scheint. Noch schlimmer sogar, der Dozent zeigte ein Beispiel einer Swtich-Anweisung, bei der jede Fallunterscheidung in ein return (also fluchtartiges Verlassen der Routine) mit irgendeinem Wert mündete und meinte, das sei Clean-Code :-D.

Bei früheren Arbeitgebern in den letzten 10 Jahren habe ich u.a. fluchtartiges Verlassen von Schleifen (break), Rücksprünge zum Anfang der Schleifen (continue) und nicht zuletzt auch frühzeitiges Verlassen von Routinen (return) gesehen(, erlebt und dabei den Kopf geschüttelt)! Eine externe Fachkraft adelte die letzte Stilform mit "early Return" und hielt das für besonders pfiffig.

Bei meinem letzten Arbeitgeber waren die Kollegen sehr an Clean-Code interessiert und lernten das fleißig auf einschlägigen Seiten. Aber auch sie bevorzugten gerne, so wie ich es nenne "Mittendrin-Returns". Das ging sogar so weit, dass innerhalb von Catch-Blöcken gerne mal Returns formuliert wurden, was den eigentlichen Sinn und Zweck vom Exception-Handling in der Sprache Java ad absurdum führt.

Ist in den Bildungsstätten die Strukturierte Programmierung völlig abhanden gekommen, oder gilt diese mittlerweile als überholt? Habe ich die Stelle wo in den Clean-Code-Regeln, in der auf strukturierte Programmierung eingegangen wird nur übersehen, oder hat man das Thema da, aus meiner Sicht bedauerlicherweise, ausgespart oder gar ignoriert?

Software, programmieren, Softwareentwickler, Softwareentwicklung, Programmcode
Wie lässt sich auf einem Apache Server ein Port aktivieren ohne, dass dieser anschließend für eine andere Anwendung blockiert ist?

Hab hier einen angemieteten Server wo ich grade versuche ein Datenbanksystem (mongo db + mongo-db express) zum Laufen zu kriegen. Der Server läuft bei einem Hostingdienst auf dem Apache2 schon vorinstalliert ist. Nun zum Problem: Ich muss um das Ganze zum Laufen zu kriegen anscheinend einen bestimmten Port (27017 oder 8081) freigeben. Durch die Vorkonfiguration ist/war außerdem der Browsing Zugriff auf ein bestimmtes Verzeichnis beschränkt. Dieses Problem konnte ich durch Anpassen der Konfigurationsdateien (Pfaderweiterungen + Hinzufügen des entsprechenden Porteintrages) lösen. Leider klemmt nun das Ganze woanders: Es gibt beim Zugriff egal ob via Browser oder lokal einen 403 "forbidden" Fehler und MongoDB Express lässt sich über die Konsole nicht neu starten weil anscheinend der Port durch mehrere Prozesse (Zahl variiert) belegt ist. Ich hab das Ganze auch bereits ohne Apache Konfiguration probiert und nur mit einem Eintrag in der rules.v4 von IP-Tables (die nicht vorinstalliert war), allerdings bekomm ich damit sowohl mit, als auch ohne den Eintrag lediglich einen Network Error und kann überhaupt nicht auf das Verzeichnis zugreifen. Es geht weder mit noch ohne Netzwerkregel und ohne die Pfadwhitelist von Apache komm ich nirgends rein. Hat irgendeiner, der sich mit der Thematik auskennt evtl. eine Ahnung wie sich dieses Problem beheben lässt? Irgend ein zusätzliches Script, Bridge oder Ähnliches installieren? Apache2 evtl. komplett deinstallieren? (Sorry für die Fragen, aber bin kein Profi und mache das mehr oder weniger zum ersten mal)

PC, Server, Internet, Linux, Webseite, programmieren, Apache, Firewall, Port, Webserver, Netzwerkfehler, Datenbanksystem, MongoDB, Debian 10
Mongo DB Express auf Port :8081 zum Laufen kriegen. Was mach ich falsch?

Hab mal eine Frage zum Thema IT & Server & Ports und würde mich freuen wenn mir einer mit Fachkenntnissen weiterhelfen kann:

Also ich versuche hier seit Tagen eine kleine Webseite auf einem angemieteten Server (Debian 10) zum Laufen zu kriegen und möchte dabei das Datenbanksystem Mongo DB (+ das Webinterface mongo-express) verwenden. Die wichtigsten Grundabhängigkeiten wie Mongo DB, PHP, Java, node.js, npm etc. konnte ich bereits alle installieren und hab es nach sehr langem Herumprobieren sogar geschafft mit einem kleinen .sh Script den Port :8081 zu öffnen, sodass dieser zumindest in den IP-Tables angezeigt wird. Auch konnte ich (Mithilfe verschiedener Anleitungen) alle Anwendungen erfolgreich starten, teils erst nach dem Setzen einiger Umgebungsvariablen setzen und bekomme nun die Meldung, dass der DB-Express Server auf dem richtigen Port lauscht. Dennoch komm ich nun seit gestern nicht weiter bzw. mein Browser kann sich mit dem Port :8081 des Servers einfach nicht verbinden > "Netzwerkfehler", wobei die Ursache alles und nichts sein kann! Hab auch schon mit anderen Ports probiert mit ähnlichem Resultat. Meine Frage wäre jetzt ob irgendeiner diese Anwendung hier (dieses Problem) zufällig kennt oder weiß was hier zutun ist oder was ein mögliches Problem sein kann?   Ich hab da zwar eine wage Vermutung aber da ich das alles komplett blind und zum ersten mal mache und derzeit keinen *richtigen* IT-Experten habe wären ein paar Ratschläge, die jetzt nicht unbedingt in den Anleitungen stehen nicht schlecht?

Server, Linux, Netzwerk, Webseite, programmieren, Java, Apache, Firewall, Netzwerkverbindung, PHP, Port, Kommandozeile, MongoDB, Debian 10

Meistgelesene Fragen zum Thema Programmieren