In unserem Unternehmen habe ich keinen Zugriff auf MSSQL Server, so dass ich auf die Systemtabellen zugreifen kann.Wie finden Sie den laufenden SQL Server-Port, wenn Sie den Server nicht besitzen?
Antwort
Was funktioniert für mich ist:
- Erfassung der Netzwerkverkehr
Wireshark
(als Administrator ausführen, Network Interface wählen), während die Verbindung zum Server zu öffnen. - Finden Sie die IP-Adresse mit
ping
- Filter mit
ip.dst == x.x.x.x
Der Anschluss ist in der Spalte info
im Format src.port -> dst.port
Wenn Sie Rechte an SQL gezeigt, aber nicht das Betriebssystem Sie erhöht haben, kann das Protokoll abfragen.
Wenn Sie aber keinen Zugriff auf das Betriebssystem haben können Abfragen ausführen, versuchen Sie vielleicht:
USE master
GO
xp_readerrorlog 0, 1, N'Server is listening on'
GO
Wenn Sie Rechte an SQL haben nicht erhöht, von der Client-Seite Windows-Rechner mit einem aktiven Verbindung können Sie einen netstat-Befehl ausführen und sehen, an welchen Ports Sie mit dem Ziel verbunden sind. Filtere die IP-Adresse des Hosts.
netstat -an | find "10.1.10.xxx"
Sie werden sehen, dass ich Verbindungen zum Host auf 3389 und 1433. Vielleicht hilft das schmale es nach unten.
Nein Ich habe keine Rechte an den Systemtabellen. Um von Powershell über 'system.data.sqlclient 'auf die Datenbank zugreifen zu können, brauche ich den Port. Wenn Sie die Verbindungszeichenfolge anfordern, erhalten Sie diese meist ohne Portinformationen. Warum das so ist, weiß ich nicht. Ich kann das SQL-Team fragen und sie sehen es auf dem Server nach. Mit Wireshark kann ich das von der Client Seite herausfinden – fbehrens
Fragen Sie die DBAS. Sie sollten nicht versuchen, diese Informationen zu finden, es sei denn, Sie haben eine gültige Beziehung zum Eigentümer der Datenbank, in welchem Fall es keinen Grund gibt, sie nicht direkt zu fragen. – HLGEM