God ettermiddag, kjære lesere og gjester på bloggen, jeg er glad for å ønske dere velkommen igjen i seksjonen om sikkerhet, sist gang vi lærte å fjerne screenup-viruset, i dag vil emnet være mer interessant, nemlig hvordan sjekk åpne porter på Windows eller Linux. Jeg vil beskrive situasjonen min, jeg har et prosjekt, kunden ga 20 virtuelle maskiner, der organisasjonen min må distribuere en tjeneste der, noen virtuelle maskiner er i forskjellige nettverk og inntil programmererne har tid til å distribuere alt på dem, må jeg bruk et spesielt verktøy for å lytte på porten på en server og sjekke at den svarer på den andre, så å si, nettverk. La oss komme ned til det.
Vi henger tjenesteansvarlig for ønsket port
Som jeg skrev ovenfor, mens tjenestene ikke er distribuert, så er det ingen som lytter til portene, men vi må sjekke slik at vi ikke refererer til dette senere. Vi må bruke et spesielt verktøy for å emulere lytting til porten (socket) vi trenger, de av dere som kjenner et slikt operativsystem som Centos 7, de husker at det hadde et utmerket verktøy kalt netcat. Det tillot bruk av visse kommandoer for å lytte til porten som trengs av administratoren.
netcat- et Unix-verktøy som lar deg etablere TCP- og UDP-forbindelser, motta data derfra og overføre dem. På Windows-plattformer er den også til stede.
Vi pakker ut arkivet på serveren der tjenesten skal kjøre i fremtiden. I mappen trenger du filene nc.exe og nc64.exe. Hold så nede Shift og høyreklikk på mappen, velg elementet "Åpne kommandovindu" fra kontekstmenyen
La oss nå forestille oss at jeg vil at port 80 skal fungere på serveren, vel, som en IIS-server. Åpne netcat, se først på hjelpen:
- -d koble fra konsollen, bakgrunnsmodus
- -e prog inngående program til exec
- -g gateway source-routing hop point [s], opptil 8
- -G num kilderutingspeker: 4, 8, 12, ...
- -h denne cruften
- -i sekunders forsinkelsesintervall for linjer sendt, porter skannet
- -l - lytt etter innkommende forbindelser
- -L lytt hardere, lytt på nytt på socket close
- -n IP-adresser kun numerisk, ingen DNS
- -o fil hex dump av trafikk
- -p - hvilken tilkobling vil lytte
- -r randomiser lokale og eksterne porter
- -s - angi lokal destinasjonsadresse
- -t svar TELNET forhandling
- -c send CRLF i stedet for bare LF
- -u - UDP-modus
- -v verbose
- -w sek tidsavbrudd for tilkoblinger og endelige nettavlesninger
- -z null-I/O-modus
Vi er interessert i en kommando som denne:
netcat-win32-1.12> nc.exe -l -p 80
Som et resultat heves en virtuell stikkontakt på serveren, som lytter etter 80-tilkoblinger, og simulerer en webserver.
Hvordan sjekke om en port er åpen på serveren
La oss nå gå til en annen server og prøve å sjekke de åpne portene på den eksterne serveren. For å løse problemet vårt, vil vi bruke telnet-verktøyet, se hvordan du installerer det. Åpne kommandolinjen og skriv inn følgende linje:
telnet 10.242.17.134 80
Som du kan se, indikerte jeg ip-adressen jeg trengte og ønsket portnummer
Forresten, du kan sjekke de åpne portene på datamaskinen der tjenesten er plassert med kommandoen:
telnet localhost nummer 80
Hvis ip-adressen ikke svarer på forespørselen din, vil du se et forsøk på å koble til, hvoretter du får vist at dette ikke kunne gjøres.
Hvis tilkoblingen er vellykket, vil du se en svart skjerm, enten uten tekst, eller med en slags velkomstmelding om at en tjeneste har svart deg.
Gjennom eksterne verktøy
Du kan også sjekke om porten er åpen med eksterne verktøy, her er hovedkravet at du har en hvit ip som har tilgang til Internett. Tenk deg, situasjonen blir strammere at du må teste 80-forbindelsen som selskapets nettside vil være på. Du distribuerte det, men av en eller annen grunn fungerer det ikke. For ikke så lenge siden fortalte jeg deg om tjenesten ping.eu (). Et av punktene med dette verktøysettet var portsjekken. I feltet "ip-adresse eller vertsnavn" skriver du ip-adressen eller dns-navnet til tjenesten, som krever verifisering, og i feltet ved siden av, det nødvendige socketnummeret, i mitt tilfelle 80, klikker du "Go". Om et sekund vil du få resultatet, enten port 80 eller 443 er åpne for nettstedet eller ikke. I mitt tilfelle er status "åpen".
Bulksjekk for åpne porter på nettverket og lokalt
Det er spesielle verktøy hvis oppgaver inkluderer å skanne en datamaskin eller server for tilgjengelige porter som det er en tilkobling gjennom, de kalles portskannere. Det er mange slike programmer, jeg vil gi et eksempel i form av XSpider 7.7. Hvordan sjekke om en port er åpen i XSpider 7.7. Høyreklikk på "skannede verter" og legg til en vert eller en rekke ip-adresser.
Du skriver ned nøyaktig hva som skal sjekkes.
Klikk på startikonet og start prosedyren.
Du kan se en advarsel om at handlingene dine kan gjenkjennes som et ddos-angrep og mange brannmurer på nettverket kan ganske enkelt utestenge deg, så vær forsiktig.
Kilder: Wikipedia, Microsoft, portscan.ru
Hvordan vet jeg hvilke porter som er åpne på datamaskinen min?
- For Windows: Start → "cmd" → Kjør som administrator → "netstat -bn"
- I et antivirusprogram som Avast er det mulig å se de aktive portene i brannmuren: Verktøy -> Brannmur -> Nettverkstilkoblinger.
Også nyttige netstat-kommandoer:
For å vise både Ethernet-statistikken og statistikken for alle protokoller, skriv inn følgende kommando:
netstat -e -s
For å vise statistikken for bare TCP- og UDP-protokollene, skriv inn følgende kommando:
netstat -s -p tcp udp
For å vise aktive TCP-tilkoblinger og prosess-ID-ene hvert 5. sekund, skriv inn følgende kommando:
nbtstat -o 5
For å vise aktive TCP-tilkoblinger og prosess-ID-ene ved hjelp av numerisk form, skriv inn følgende kommando:
nbtstat -n -o
Følgende statusverdier er gyldige for TCP-sockets:
LUKKET | Lukket. Stikkontakten er ikke i bruk. |
LYTT (LYTTER) | Venter på innkommende tilkoblinger. |
SYN_SENT | Den prøver aktivt å etablere en forbindelse. |
SYN_MOTTATT | Innledende synkronisering av tilkoblingen pågår. |
ETABLERT | Forbindelsen er opprettet. |
CLOSE_WAIT | Ytterste enden har koblet fra; venter på at stikkontakten skal lukkes. |
FIN_WAIT_1 | Stikkontakten er lukket; koble fra tilkoblingen. |
LUKKING | Stikkontakten er lukket, deretter kobles den eksterne siden fra; Venter på bekreftelse. |
LAST_ACK | Den eksterne siden koblet fra, så er stikkontakten lukket; Venter på bekreftelse. |
FIN_WAIT_2 | Stikkontakten er lukket; venter på at den eksterne siden skal kobles fra. |
VENTETID | Kontakten er lukket, men venter på pakker som fortsatt er på nettverket for behandling. |
Liste over de mest brukte portene
№ | Havn | Protokoll | Beskrivelse | |||
---|---|---|---|---|---|---|
1 | 20 | FTP-data | File Transfer Protocol - filoverføringsprotokoll. Dataport. | |||
2 | 21 | FTP-kontroll | File Transfer Protocol - filoverføringsprotokoll. Havn for lag. | |||
3 | 22 | SSH | Secure SHell er et "sikkert skall". Kontrollprotokoll for eksternt operativsystem. | |||
4 | 23 | telnet | TERMINAL NETTVERK. En protokoll for å implementere et tekstgrensesnitt over et nettverk. | |||
5 | 25 | SMTP | Simple Mail Transfer Protocol er en enkel postoverføringsprotokoll. | |||
6 | 42 | VINNER | Windows Internet Name Service. Tjeneste for å kartlegge NetBIOS-datamaskinnavn til verts-IP-adresser. | |||
7 | 43 | Hvem er | "Hvem er". En protokoll for innhenting av registreringsdata om eiere av domenenavn og IP-adresser. | |||
8 | 53 | DNS | Domain Name System - domenenavnsystem. | |||
9 | 67 | DHCP | Dynamic Host Configuration Protocol - dynamisk vertskonfigurasjonsprotokoll. Får dynamisk IP. | |||
10 | 69 | TFTP | Trivial File Transfer Protocol er en enkel filoverføringsprotokoll. | |||
11 | 80 | HTTP / Web | HyperText Transfer Protocol - Hypertekstoverføringsprotokoll. | |||
12 | 110 | POP3 | Post Office Protocol versjon 3 - protokoll for mottak av e-post, versjon 3. | |||
13 | 115 | SFTP | SSH File Transfer Protocol. Sikker dataoverføringsprotokoll. | |||
14 | 123 | NTP | Network Time Protocol. En protokoll for å synkronisere den interne klokken til en datamaskin. | |||
15 | 137 | NetBIOS | Grunnleggende inn-/utgangssystem for nettverk. En protokoll for å gi nettverksinn-/utdataoperasjoner. Navnetjeneste. | |||
16 | 138 | NetBIOS | Grunnleggende inn-/utgangssystem for nettverk. En protokoll for å gi nettverksinn-/utdataoperasjoner. Tilkoblingstjeneste. | |||
17 | 139 | NetBIOS | Grunnleggende inn-/utgangssystem for nettverk. En protokoll for å gi nettverksinn-/utdataoperasjoner. Sesjonstjeneste. | |||
18 | 143 | IMAP | Internet Message Access Protocol. En applikasjonslagsprotokoll for tilgang til e-post. | |||
19 | 161 | SNMP | Simple Network Management Protocol er en enkell. Enhetsadministrasjon. | |||
20 | 179 | BGP | Border Gateway Protocol Dynamisk rutingprotokoll. | |||
21 | 443 | HTTPS | HyperText Transfer Protocol Secure) er en HTTP-protokoll som støtter kryptering. | |||
22 | 445 | SMB | Servermeldingsblokk. Eksterntilgangsprotokoll for filer, skrivere og nettverksressurser. | |||
23 | 514 | Syslog | Systemlogg. Protokoll for sending og registrering av meldinger om pågående systemhendelser. | |||
24 | 515 | LPD | Line Printer Daemon. Ekstern utskriftsprotokoll på skriveren. | |||
25 | 993 | IMAP SSL | IMAP-protokoll som støtter SSL-kryptering. | |||
26 | 995 | POP3 SSL | POP3-protokoll som støtter SSL-kryptering. | |||
27 | 1080 | SOKKER | SOCKet Secure. En protokoll for å oppnå sikker anonym tilgang. | |||
28 | 1194 | OpenVPN | Åpen kildekode implementering av Virtual Private Network (VPN) teknologi. | |||
29 | 1433 | MSSQL | Microsoft SQL Server er et databasestyringssystem. Base tilgangsport. | |||
30 | 1702 | L2TP (IPsec) | Støtteprotokoll for virtuelt privat nettverk. Samt et sett med protokoller for å sikre databeskyttelse. | |||
31 | 1723 | PPTP | En tunnelprotokoll for en sikker tilkobling med en punkt-til-punkt-server. | |||
32 | 3128 | Fullmakt | For øyeblikket brukes porten ofte av proxy-servere. | |||
33 | 3268 | LDAP | Lightweight Directory Access Protocol - lett katalogtilgangsprotokoll (katalogtjeneste). | |||
34 | 3306 | MySQL | Tilgang til MySQL-databaser. | |||
35 | 3389 | RDP | Remote Desktop Protocol er en ekstern skrivebordsprotokoll for Windows. | |||
36 | 5432 | PostgreSQL | Tilgang til PostgreSQL-databaser. | |||
37 | 5060 | NIPPE | En protokoll for å etablere en økt og overføre multimedieinnhold. | |||
38 | 5900 | VNC | Virtual Network Computing er et system for ekstern tilgang til et skrivebord. | |||
39 | 5938 | TeamViewer | TeamViewer er et system for fjernkontroll og datautveksling. | |||
40 | 8080 | HTTP / Web | Alternativ port for HTTP-protokollen. Noen ganger brukt av proxy-servere. | |||
41 | 10000 | NDMP | Populær port: Webmin, SIP Voice, VPN IPSec over TCP. | |||
42 | 20000 | DNP |
netstat - a - o> C: \ Port. tekst |
Etter å ha trykket på "Enter"-tasten, må du vente litt, ikke lenge.
Etter å ha utført kommandoen vil "Port.txt"-filen vises på stasjonen "C" I denne filen kan vi finne ut de åpne portene og "PID" til prosessene som er opptatt med portene.
Når du ser gjennom filen, kan du legge merke til mer enn én åpen port på datamaskinen, og noen av dem er svært mistenkelige. I skjermbildet nedenfor markerte jeg porten "3123" som allerede er kjent for oss. Jeg foreslår å se hvilket program den ble åpnet med.
For å få navnet på prosessen etter "PID", bruker vi kommandoen "tasklist" og ser hva slags skitt som åpnet denne porten på datamaskinen vår.
Til referanse: Det var i utgangspunktet mulig å bruke "netstat"-kommandoen med "-a -b"-parametrene i dette tilfellet, vi vil umiddelbart motta navnene på prosessene.
Vi lagrer også resultatet av "oppgaveliste"-kommandoen til en fil på disken for enkel visning.
Misligholde
oppgaveliste> C: \ PID.txt
oppgaveliste> C: \ PID. tekst |
som et resultat får vi filen "PID.txt" og vet at porten "3123" ble åpnet av programmet med "PID - 3264", finner vi den og ser på navnet på prosessen.
Som du kan se, fantaserte ikke navnet på programmet "123.exe", jeg bestemte meg for å bare kalle det "123" og det er det))
Samle inn fil- og portinformasjon :
Etter å ha mottatt en liste over åpne porter, kan du lære mer om dem. Bare bruk søket "google.ru" og se hva de skriver om denne eller den porten, og trekk deretter konklusjoner.
Søk også på nettverket etter navn på prosesser som virker mistenkelige for deg.
Du kan finne mye informasjon og finne ut om en slik og en prosess er en trussel eller ikke. Faktum er at noen systemprosesser også kan åpne en slags port for sine egne formål, og du trenger ikke å drepe dem, siden dette kan føre til en slags funksjonsfeil i hele systemet.
I varetekt.
Vi lærte - Hvordan finne ut de åpne portene, på datamaskinen ved å bruke kommandoen " netstat»Du kan få mer informasjon i selve hjelpen for denne kommandoen.
Som jeg sa ovenfor, kan du bare bruke parametrene til "-a -b"-kommandoen og ikke bry deg med å få prosessnavnet med kommandoen "tasklist".
Jeg håper jeg klarte å svare tydelig på spørsmålet, Hvordan finne ut de åpne portene. Og du vil ikke lenger ha noen problemer hvis du trenger å finne ut de åpne portene og programmene som bruker dem.
Vi blir ofte spurt om hvordan du sjekker om en port er åpen ved å bruke standard Windows-operativsystemverktøy. Dette er slett ikke vanskelig å gjøre, og selv en nybegynner kan gjøre det. La oss finne ut av det.
Noen ganger har brukeren en situasjon når det er nødvendig å åpne en eller annen port på datamaskinen for videospill, komplekse programmer eller spesielle Internett-klienter. Men hvordan sjekke om denne porten er åpen for øyeblikket? Det er flere alternativer for å løse slike problemer.
I. KONTROLL AV ÅPNE PORTER PÅ DEN LOKALE DATAMASKINEN
Metode 1. For å sjekke de åpne portene på den lokale (din) datamaskin, kan du bruke " Kommandolinje»Operativsystem Windows. For å ringe denne linjen, trykk på tastekombinasjonen Win + R og skriv kommandoen " cmd", klikk deretter" OK».
I vinduet som åpnes, skriv en spesiell kommando " netstat -a»Og se listen over åpne porter på datamaskinen.
Metode 2. Hvis du er koblet til Internett, kan du sjekke om porten er åpen på nettsiden whatsmyip.org/port-scanner ... Denne ressursen vil selv bestemme IP-adressen din, og du kan skanne porter gjennom spesialfeltet " Tilpasset porttest».
Skriv inn porten du er interessert i og klikk på " Sjekk port”, Deretter vil du få svar om denne porten er åpen eller lukket.
II. KONTROLLERE ÅPNE PORTER PÅ EKSTERN DATAMASKIN
La oss nå se på hvordan du sjekker om en port er åpen på en ekstern datamaskin eller server. Bruk samme " Kommandolinje"På Windows, men skriv nå telnet-kommandoen i formatet:
telnet IP-adresseport
Trykk " Tast inn". Hvis det ikke er noen oppføring" Kunne ikke åpne ...", Da er den forespurte porten åpen, ellers stengt.
Vi dekket kort hvordan du sjekker om en port er åpen på en datamaskin. Hvis du har spørsmål, vennligst still dem i kommentarfeltet.