de flesta av oss skulle vara bekant med den enkla ICMP-baserade ”ping” kommando som tillåter oss att testa för ett grundläggande svar från vissa nätverksanslutna enhet. Även om det är bra för grundläggande felsökning tillåter det oss inte att bekräfta om den specifika värden i andra änden svarar på TCP eller UDP-portar där majoriteten av Tjänsterna sannolikt kommer att tillhandahållas.,
Ping är inte vara alla och avsluta alla nätverk felsökning, om en brandvägg blockerar inkommande ICMP-trafik kommer en ping inte att lyckas som kan ge en falsk uppfattning om att värden är nere eftersom den inte svarar på pingen, men andra tjänster kan fortfarande svara bra.
alternativt kan ping komma tillbaka bra med ett svar som det inte indikerar om en webbserver svarar på port 80 för HTTP-förfrågningar, kan webbservern ha misslyckats och inte längre svara.
så om ping är ICMP-baserad, kan vi slå en TCP eller UDP-port för svar istället?, Svaret är ja, låt oss ta en titt.
ange tcping
tcping är ett sådant verktyg som kan användas för att kontrollera att en TCP-port svarar, Det finns några versioner tillgängliga men jag använder den här: http://www.elifulkerson.com/projects/tcping.php
handboken är på samma sida, i princip kan du köra ett kommando som liknar nedan.
här använder vi tcping för att kontrollera port 443 på google.com. som kan ses visar porten som öppen och svarar, om porten inte är öppen kommer den att visa som inget svar efter 2000ms som standard.,
Du kan också använda telnet för att testa för TCP-anslutning till en port, men tcping-verktyget ger ytterligare funktioner som beskrivs i avsnittet Användning här. Vissa sådana funktioner inkluderar att kunna kontinuerligt köra testet tillåter ett sätt att generera trafik för dig att se upp för i levande paket fångar samt svarstiden.
hur är det med UDP?
eftersom UDP är ett anslutningslöst protokoll, är det lite annorlunda att bestämma om det svarar., En TCP ’ping’ fungerar genom att utföra en trevägs handskakning, källan skickar en SYN till destinationen, destinationen kommer att svara med en SYN-ACK, och källan kommer sedan att skicka ett ACK slutföra handskakningen och upprätta anslutningen. Eftersom UDP inte upprättar en anslutning kan vi inte bara leta efter detta för att avgöra om porten svarar, vi behöver istället skicka specifika data och se om vi får ett svar.
NMAP är ett bra verktyg för detta, Du kan ladda ner den och använda den för att portera skanna en måladress för att bestämma vilka portar som är öppna.,
i det här exemplet frågar vi om 8.8.8.8.8 svarar på UDP-port 53, eftersom det tjänar DNS vi förväntar oss att det är öppet.<|p>
det öppna / filtrerade resultatet används när nmap inte kan avgöra om porten är öppen eller filtrerad, den öppna porten kanske inte har gett ett svar. Det visar att tjänsten har identifierats som ”domän” som det är för att betjäna DNS. Jag har testat detta på några andra DNS-servrar på Internet och vissa visar som Öppna bara bekräftar att de svarar.
NMAP kan också användas för att kontrollera att en TCP-port är öppen på ett liknande sätt, bara ändra-sU till-sT.,
varför en port kanske inte svarar
det finns några enkla skäl till att en port kanske inte svarar på ditt test.
- en brandvägg blockerar trafiken: det kan finnas en brandvägg som körs mellan källan och destinationen som filtrerar trafiken beroende på reglerna på plats, även om du vet att destinationen ska svara på en viss port.
- destinationen kanske inte lyssnar på porten: enkelt uttryckt, destinationen du försöker ansluta till kanske inte har några tjänster som lyssnar på porten anges så det kommer inte att bli något svar., Detta kan också hända om en tjänst har stoppats, till exempel om du stoppar Apache kommer en webbserver inte längre att svara på port 80-förfrågningar.
- Det finns något annat nätverksproblem mellan trafikens källa och destination: det kan finnas ett antal nätverksanslutningsproblem mellan källa och destination, om möjligt kontrollera nätverket men om trafiken går över Internet kommer du att vara begränsad i vad du kan kontrollera.,
Du kan kontrollera anslutningen längs trafikens väg genom att köra en paketfångst med något som Wireshark eller tcpdump, det här visar dig var trafiken går igenom till och var den stoppas längs rutten. Du kan köra den på käll-och destinationsservrar, samt enheter däremellan som du har tillgång till såsom brandväggar eller routrar. Följ trafikflödet tills du bestämmer var problemet är.,
sammanfattning
När du utför en TCP ’ping’ till en destination kan du bekräfta om den svarar som avsett, men det finns några anledningar till att porten kanske inte svarar som noterat. UDP kan kontrolleras men det är lite svårare att vara säker på om du får ett svar korrekt så att testen inte alltid är tillförlitliga, vilket är meningsfullt eftersom UDP inte är ett tillförlitligt protokoll. Dessa tester kan vara användbara när du testar säkerhet genom att bekräfta om portarna är öppna eller stängda.
Leave a Reply