Goedemiddag, beste lezers en gasten van de blog, ik ben blij je weer te mogen verwelkomen in de sectie over beveiliging, de laatste keer dat we hebben geleerd hoe we het screenup-virus kunnen verwijderen, vandaag zal het onderwerp interessanter zijn, namelijk hoe controleer open poorten op Windows of Linux. Ik zal mijn situatie beschrijven, ik heb een project, de klant heeft 20 virtuele machines geleverd, waarbinnen mijn organisatie daar een service moet implementeren, sommige virtuele machines bevinden zich in verschillende netwerken en totdat de programmeurs tijd hebben om alles erop te implementeren, moet ik gebruik een speciaal hulpprogramma om naar de poort op de ene server te luisteren en te controleren of deze reageert op de andere, om zo te zeggen, netwerken. Laten we er eens naar toe gaan.
We hangen de dienst die verantwoordelijk is voor de gewenste poort
Zoals ik hierboven schreef, terwijl de services niet zijn geïmplementeerd, luistert niemand naar de poorten, maar we moeten dit controleren zodat we hier later niet naar verwijzen. We moeten een speciaal hulpprogramma gebruiken om het luisteren naar de poort (socket) die we nodig hebben te emuleren, degenen onder u die een dergelijk besturingssysteem als Centos 7 kennen, ze herinneren zich dat het een uitstekend hulpprogramma had, genaamd netcat. Het stond het gebruik van bepaalde commando's toe om naar de poort te luisteren die de beheerder nodig had.
netcat- een Unix-hulpprogramma waarmee u TCP- en UDP-verbindingen tot stand kunt brengen, van daaruit gegevens kunt ontvangen en verzenden. Op Windows-platforms is het ook aanwezig.
We pakken het archief uit op de server waar de dienst in de toekomst zal draaien. In de map heb je de bestanden nc.exe en nc64.exe nodig. Houd vervolgens Shift ingedrukt en klik met de rechtermuisknop op de map, selecteer in het contextmenu het item "Open opdrachtvenster"
Laten we ons nu voorstellen dat ik poort 80 wil laten werken op de server, nou ja, zoals een IIS-server. Open netcat, kijk eerst in de help:
- -d loskoppelen van console, achtergrondmodus
- -e prog inkomend programma naar exec
- -g gateway source-routing hoppunt [s], tot 8
- -G num bron-routing pointer: 4, 8, 12, ...
- -h deze cruft
- -i seconden vertragingsinterval voor verzonden lijnen, gescande poorten
- -l - luister naar inkomende verbindingen
- -L luister harder, luister opnieuw op socket close
- -n alleen numerieke IP-adressen, geen DNS
- -o file hex dump van verkeer
- -p - welke verbinding zal luisteren
- -r randomiseer lokale en externe poorten
- -s - lokaal bestemmingsadres instellen
- -t antwoord op TELNET-onderhandeling
- -c stuur CRLF in plaats van alleen LF
- -u - UDP-modus
- -v uitgebreid
- -w sec time-out voor verbindingen en laatste net-lezingen
- -z nul-I / O-modus
We zijn geïnteresseerd in een commando als dit:
netcat-win32-1.12> nc.exe -l -p 80
Als gevolg hiervan wordt een virtuele socket op de server geplaatst, die luistert naar 80-verbindingen en een webserver simuleert.
Hoe te controleren of een poort open is op de server
Laten we nu naar een andere server gaan en proberen de open poorten op de externe server te controleren. Bij het oplossen van ons probleem zullen we het telnet-hulpprogramma gebruiken, kijken hoe we het kunnen installeren. Open de opdrachtregel en voer de volgende regel in:
telnet 10.242.17.134 80
Zoals je kunt zien, heb ik het ip-adres aangegeven dat ik nodig had en het gewenste poortnummer
Trouwens, je kunt de open poorten op de computer controleren waar de service zich bevindt met het commando:
telnet localhost nummer 80
Als het ip-adres je verzoek niet beantwoordt, dan zie je een poging om verbinding te maken, waarna je te zien krijgt dat dit niet kon.
Als de verbinding succesvol is, ziet u een zwart scherm, ofwel zonder tekst, of met een soort welkomstbericht dat een bepaalde dienst u heeft beantwoord.
Via externe hulpprogramma's
Je kunt ook controleren of de poort open staat met externe hulpprogramma's, hier is de belangrijkste vereiste dat je een wit ip hebt dat toegang heeft tot internet. Stel je voor, de situatie wordt krapper dat je de 80-verbinding moet testen waarop de website van het bedrijf zal zijn. Je hebt het ingezet, maar om de een of andere reden werkt het niet. Nog niet zo lang geleden vertelde ik je over de ping.eu ()-service. Een van de punten van deze toolkit was de poortcontrole. In het veld "ip-adres of hostnaam" schrijf je het ip-adres of de dns-naam van de service, die verificatie vereist, en in het aangrenzende veld, het vereiste socketnummer, in mijn geval 80, klik je op "Go". In een oogwenk krijgt u het resultaat, of poorten 80 of 443 nu open staan voor de site of niet. In mijn geval is de status "open".
Bulkcontrole op open poorten op het netwerk en lokaal
Er zijn speciale hulpprogramma's waarvan de taken bestaan uit het scannen van een computer of server op beschikbare poorten waarmee een verbinding is, ze worden poortscanners genoemd. Er zijn veel van dergelijke programma's, ik zal een voorbeeld geven in de vorm van XSpider 7.7. Hoe te controleren of een poort open is in XSpider 7.7. Klik met de rechtermuisknop op "gescande hosts" en voeg een host of een reeks ip-adressen toe.
Je schrijft op wat er precies wordt gecontroleerd.
Klik op het startpictogram en start de procedure.
Mogelijk ziet u een waarschuwing dat uw acties kunnen worden herkend als een ddos-aanval en dat veel firewalls op het netwerk u eenvoudig kunnen verbannen, dus wees voorzichtig.
Bronnen: Wikipedia, Microsoft, portscan.ru
Hoe weet ik welke poorten open staan op mijn computer?
- Voor Windows: Start → "cmd" → Uitvoeren als administrator → "netstat -bn"
- In een antivirusprogramma zoals Avast is het mogelijk om de actieve poorten in de Firewall te zien: Extra -> Firewall -> Netwerkverbindingen.
Ook handige netstat-commando's:
Om zowel de Ethernet-statistieken als de statistieken voor alle protocollen weer te geven, typt u de volgende opdracht:
netstat -e -s
Typ de volgende opdracht om de statistieken voor alleen de TCP- en UDP-protocollen weer te geven:
netstat -s -p tcp udp
Om elke 5 seconden actieve TCP-verbindingen en de proces-ID's weer te geven, typt u de volgende opdracht:
nbtstat -o 5
Om actieve TCP-verbindingen en de proces-ID's in numerieke vorm weer te geven, typt u de volgende opdracht:
nbtstat -n -o
De volgende statuswaarden zijn geldig voor TCP-sockets:
GESLOTEN | Gesloten. Het stopcontact is niet in gebruik. |
LUISTEREN (LUISTEREN) | Wachten op inkomende verbindingen. |
SYN_SENT | Het probeert actief een verbinding tot stand te brengen. |
SYN_RECEIVED | De eerste synchronisatie van de verbinding is bezig. |
VASTGESTELD | De verbinding is tot stand gebracht. |
CLOSE_WAIT | Het andere uiteinde is losgekoppeld; wachten tot het stopcontact sluit. |
FIN_WAIT_1 | Het stopcontact is gesloten; de verbinding verbreken. |
SLUITEND | Het stopcontact is gesloten en vervolgens is de externe kant losgekoppeld; Wachten op bevestiging. |
LAST_ACK | De externe kant losgekoppeld, dan is de socket gesloten; Wachten op bevestiging. |
FIN_WAIT_2 | Het stopcontact is gesloten; wachten tot de externe kant de verbinding verbreekt. |
TIJD WACHT | De socket is gesloten, maar wacht op pakketten die nog op het netwerk staan voor verwerking. |
Lijst met de meest gebruikte poorten
№ | Haven | Protocol | Beschrijving | |||
---|---|---|---|---|---|---|
1 | 20 | FTP-gegevens | Protocol voor bestandsoverdracht - protocol voor bestandsoverdracht. Gegevens poort. | |||
2 | 21 | FTP-besturing | Protocol voor bestandsoverdracht - protocol voor bestandsoverdracht. Poort voor teams. | |||
3 | 22 | SSH | Secure SHell is een "secure shell". Controleprotocol voor besturingssysteem op afstand. | |||
4 | 23 | telnet | TERminaL NETwerk. Een protocol voor het implementeren van een tekstinterface via een netwerk. | |||
5 | 25 | SMTP | Simple Mail Transfer Protocol is een eenvoudig mailtransferprotocol. | |||
6 | 42 | WINT | Windows Internetnaamservice. Service voor het toewijzen van NetBIOS-computernamen aan host-IP-adressen. | |||
7 | 43 | Wie is | "Wie is". Een protocol voor het verkrijgen van registratiegegevens over de eigenaren van domeinnamen en IP-adressen. | |||
8 | 53 | DNS | Domeinnaamsysteem - domeinnaamsysteem. | |||
9 | 67 | DHCP | Dynamic Host Configuration Protocol - dynamisch hostconfiguratieprotocol. Dynamisch IP krijgen. | |||
10 | 69 | TFTP | Trivial File Transfer Protocol is een eenvoudig protocol voor bestandsoverdracht. | |||
11 | 80 | HTTP / Web | HyperText-overdrachtsprotocol - Hypertext-overdrachtsprotocol. | |||
12 | 110 | POP3 | Post Office Protocol versie 3 - protocol voor het ontvangen van e-mail, versie 3. | |||
13 | 115 | SFTP | SSH-bestandsoverdrachtprotocol. Veilig gegevensoverdrachtprotocol. | |||
14 | 123 | NTP | Netwerk Tijd Protocol. Een protocol voor het synchroniseren van de interne klok van een computer. | |||
15 | 137 | NetBIOS | Netwerk Basis Invoer/Uitvoer Systeem. Een protocol voor het leveren van netwerkinvoer / -uitvoerbewerkingen. Naam dienst. | |||
16 | 138 | NetBIOS | Netwerk Basis Invoer/Uitvoer Systeem. Een protocol voor het leveren van netwerkinvoer / -uitvoerbewerkingen. Verbindingsdienst. | |||
17 | 139 | NetBIOS | Netwerk Basis Invoer/Uitvoer Systeem. Een protocol voor het leveren van netwerkinvoer / -uitvoerbewerkingen. Sessie dienst. | |||
18 | 143 | IMAP | Toegangsprotocol voor internetberichten. Een applicatielaagprotocol voor toegang tot e-mail. | |||
19 | 161 | SNMP | Simple Network Management Protocol is een eenvoudig netwerkbeheerprotocol. Apparaatbeheer. | |||
20 | 179 | BGP | Border Gateway-protocol Dynamisch routeringsprotocol. | |||
21 | 443 | HTTPS | HyperText Transfer Protocol Secure) is een HTTP-protocol dat codering ondersteunt. | |||
22 | 445 | MKB | Serverberichtblok. Protocol voor externe toegang voor bestanden, printers en netwerkbronnen. | |||
23 | 514 | Syslog | Systeem log. Protocol voor het verzenden en registreren van berichten over lopende systeemgebeurtenissen. | |||
24 | 515 | LPD | Lijnprinter Daemon. Protocol voor afdrukken op afstand op de printer. | |||
25 | 993 | IMAP SSL | IMAP-protocol dat SSL-codering ondersteunt. | |||
26 | 995 | POP3 SSL | POP3-protocol dat SSL-codering ondersteunt. | |||
27 | 1080 | SOKKEN | SOCKet veilig. Een protocol voor het verkrijgen van veilige anonieme toegang. | |||
28 | 1194 | OpenVPN | Open source implementatie van Virtual Private Network (VPN) technologie. | |||
29 | 1433 | MSSQL | Microsoft SQL Server is een databasebeheersysteem. Toegangspoort basis. | |||
30 | 1702 | L2TP (IPsec) | Ondersteuningsprotocol voor virtueel particulier netwerk. Evenals een reeks protocollen om gegevensbescherming te waarborgen. | |||
31 | 1723 | PPTP | Een tunnelprotocol voor een beveiligde verbinding met een point-to-point server. | |||
32 | 3128 | Volmacht | Op dit moment wordt de poort vaak gebruikt door proxyservers. | |||
33 | 3268 | LDAP | Lichtgewicht Directory Access Protocol - lichtgewicht directory-toegangsprotocol (directoryservice). | |||
34 | 3306 | MySQL | Toegang tot MySQL-databases. | |||
35 | 3389 | RDP | Remote Desktop Protocol is een extern bureaublad-protocol voor Windows. | |||
36 | 5432 | PostgreSQL | Toegang tot PostgreSQL-databases. | |||
37 | 5060 | slokje | Een protocol voor het opzetten van een sessie en het overbrengen van multimedia-inhoud. | |||
38 | 5900 | VNC | Virtual Network Computing is een systeem voor externe toegang tot het bureaublad van een computer. | |||
39 | 5938 | TeamViewer | TeamViewer is een systeem voor computerbesturing en gegevensuitwisseling op afstand. | |||
40 | 8080 | HTTP / Web | Alternatieve poort voor het HTTP-protocol. Soms gebruikt door proxyservers. | |||
41 | 10000 | NDMP | Populaire poort: Webmin, SIP Voice, VPN IPSec via TCP. | |||
42 | 20000 | DNP |
netstat - a - o> C: \ Poort. tekst |
Nadat u op de "Enter"-toets heeft gedrukt, moet u even wachten, niet lang.
Na het uitvoeren van de opdracht verschijnt het bestand "Port.txt" op schijf "C". In dit bestand kunnen we de open poorten en de "PID" van de processen die bezig zijn met de poorten vinden.
Als je door het bestand kijkt, kun je meer dan één open poort op de computer opmerken, en sommige zijn erg verdacht. In de onderstaande schermafbeelding heb ik de poort "3123" gemarkeerd die ons al bekend is. Ik stel voor om te zien met welk programma het is geopend.
Om de naam van het proces door zijn "PID" te krijgen, gebruiken we de opdracht "tasklist" en kijken wat voor soort vuil deze poort op onze computer heeft geopend.
Ter referentie: het was mogelijk om in eerste instantie de opdracht "netstat" met de parameters "-a -b" te gebruiken, in dit geval zouden we onmiddellijk de namen van de processen ontvangen.
We slaan ook het resultaat van de opdracht "tasklist" op in een bestand op schijf om het gemakkelijk te kunnen bekijken.
Standaard
takenlijst> C: \ PID.txt
takenlijst> C: \ PID. tekst |
als resultaat krijgen we het bestand "PID.txt" en wetende dat de poort "3123" is geopend door het programma met "PID - 3264", vinden we het en kijken naar de naam van het proces.
Zoals je kunt zien, fantaseerde de naam van het programma "123.exe" niet, ik besloot het gewoon "123" te noemen en dat is het))
Bestands- en poortinformatie verzamelen :
Nadat u een lijst met open poorten hebt ontvangen, kunt u er meer over te weten komen. Gebruik gewoon de zoekopdracht "google.ru" en kijk wat ze schrijven over deze of gene poort, en trek dan conclusies.
Zoek ook op het netwerk naar de namen van processen die u verdacht lijken.
Je kunt veel informatie vinden en erachter komen of zo'n proces een bedreiging is of niet. Het is een feit dat sommige systeemprocessen ook een soort poort voor hun eigen doeleinden kunnen openen en dat je ze niet hoeft te doden, omdat dit kan leiden tot een soort storing van het hele systeem.
In hechtenis.
We leerden - Hoe de open poorten te achterhalen?, op de computer met het commando " netstat»U kunt meer informatie vinden in de help zelf voor deze opdracht.
Zoals ik hierboven al zei, zou je gewoon de parameters van het "-a -b" commando kunnen gebruiken en niet de moeite nemen om de procesnaam te krijgen met het "tasklist" commando.
Ik hoop dat ik de vraag, hoe de open poorten te achterhalen, duidelijk heb kunnen beantwoorden. En u zult geen problemen meer hebben als u de open poorten en de programma's die ze gebruiken, moet achterhalen.
We krijgen vaak de vraag hoe we kunnen controleren of een poort open is met behulp van standaardtools van het Windows-besturingssysteem. Het is helemaal niet moeilijk om dit te doen en zelfs een beginnende gebruiker kan het. Laten we het uitzoeken.
Soms heeft de gebruiker een situatie waarin het nodig is om een of andere poort van de computer te openen voor videogames, complexe programma's of speciale internetclients. Maar hoe controleer je of deze poort momenteel open is? Er zijn verschillende opties om dergelijke problemen op te lossen.
I. OPEN POORTEN CONTROLEREN OP DE LOKALE COMPUTER
Methode 1. Om de open poorten op de lokale (uw) computer te controleren, kunt u " Opdrachtregel»Besturingssysteem Windows. Om deze regel aan te roepen, drukt u op de toetsencombinatie Win + R en schrijft u het commando " cmd", Dan klikken" Oke».
Schrijf in het geopende venster een speciale opdracht " netstat -a»En bekijk de lijst met open poorten op uw computer.
Methode 2. Als u verbonden bent met internet, kunt u op de website controleren of de poort open is whatsmyip.org/port-scanner ... Deze bron bepaalt zelf uw IP-adres, en u kunt poorten scannen via het speciale veld " Aangepaste poorttest».
Voer de poort in waarin u geïnteresseerd bent en klik op de " Controleer poort”, waarna je antwoord krijgt of deze poort open of gesloten is.
II. OPEN POORTEN CONTROLEREN OP COMPUTER OP AFSTAND
Laten we nu eens kijken hoe we kunnen controleren of een poort open is op een externe computer of server. Gebruik dezelfde " Opdrachtregel"Op Windows, maar schrijf nu de telnet-opdracht in het formaat:
telnet IP-adrespoort
Druk de " Binnenkomen". Als er geen invoer is " Kon niet openen ...", Dan is de gevraagde poort open, anders gesloten.
We hebben kort besproken hoe u kunt controleren of een poort open is op een computer. Als je vragen hebt, stel ze dan in het opmerkingenveld.