ping(8)
ping(8)
NAMN
ping — skicka ICMP ECHO_REQUEST till nätvärdar
SYNOPS
ping [-aAbBdCDfhHLnOqrRUvV346]
[-c count] [-e identifier] [-F flowlabel] [-i interval]
[-I interface] [-l preload] [-m mark] [-M pmtudisc_option]
[-N nodeinfo_option] [-w deadline] [-W timeout] [-p pattern]
[-Q tos] [-s packetsize] [-S sndbuf] [-t ttl] [-T timestamp_option]
[hop ...] destination
BESKRIVNING
ping använder ICMP ECHO_REQUEST för att få ICMP ECHO_REPLY från en värd/gateway. Paketet består av IP- och ICMP-huvud följt av tidsstämpel och valfri stoppfyllnad. Fungerar med IPv4 och IPv6 (tvinga med -4 eller -6). Kan även skicka IPv6 Node Information Queries (RFC 4620).
FLAGGOR
| Flagga | Förklaring |
|---|---|
| -3 | Visar RTT med högre precision (avrunda inte uppåt). |
| -4 | Använd endast IPv4. |
| -6 | Använd endast IPv6. |
| -a | Ljudsignal vid svar (audible ping). |
| -A | Adaptivt intervall baserat på RTT; max ett obesvarat probe i nätet (liknar flood på låga RTT). |
| -b | Tillåt ping mot broadcast-adress. |
| -B | Ändra inte källadress under körning; bind vid start. |
| -c count | Avsluta efter count skickade paket (med -w väntar tills count svar eller timeout). |
| -C | Anropa connect() vid socketskapande.
|
| -d | Sätt SO_DEBUG på socket (används normalt inte i Linux). |
| -D | Skriv tidsstämpel (unixtid+µs) före varje rad. |
| -e identifier | Sätt ICMP identifier. 0 kräver rå-socket (ej datagramsocket). Identifier kan visas med -v. |
| -f | Flood-ping: skriv ”.” för skickat och backspace för svar. 0-intervall kräver root. |
| -F flowlabel | (IPv6) Sätt 20-bitars flow label (hex). 0 = slumpad av kernel. |
| -h | Hjälp. |
| -H | Tvinga DNS-namnuppslag i utdata (åsidorsätter -n); nyttigt för numeriska mål eller -f. |
| -i interval | Vänta interval sek mellan paket. Flyttal tillåtet. Root krävs för < 2 ms. Multicast/broadcast: minst 1 s för vanlig användare. |
| -I interface | Ange käll-adress, gränssnitt eller VRF-namn. För IPv6 link-local kan länk anges här eller med ”%”. |
| -l preload | Skicka preload paket omedelbart utan att vänta på svar (root krävs för > 3). |
| -L | Undertryck loopback för multicast-paket. |
| -m mark | Märk utgående paket för t.ex. policy routing. Kräver CAP_NET_ADMIN eller CAP_NET_RAW (>= 5.17). |
| -M pmtudisc_opt | PMTU-strategi: do, want, probe, dont. |
| -N nodeinfo_option | (IPv6) Skicka Node Information Query (RFC 4620). Kräver CAP_NET_RAW. |
| help – hjälp för NI. | |
| name – fråga efter nodnamn. | |
| -sitelocal|-linklocal|-all] – fråga efter IPv6-adresser (filter). | |
| ipv4[-all] – fråga efter IPv4-adresser (även andra gränssnitt). | |
| subject-ipv6=ADDR / subject-ipv4=ADDR / subject-name=NAME / subject-fqdn=NAME | |
| -n | Numerisk utdata (ingen reverse DNS). Standard för numeriska mål eller -f. |
| -O | Rapportera obesvarade ekon innan nästa paket skickas (nyttigt med -D loggning). |
| -p pattern | Upp till 16 hex-byte som fyllnadsdata (felsök data-beroende problem). |
| -q | Tyst läge (endast sammanfattning vid start/slut). |
| -Q tos | Sätt DS/ECN/TOS (decimalt/hex). Se RFC 2474/2481/3168/1349. |
| -r | Bypassa routingtabeller; sänd direkt på anslutet interface (kräver ofta -I). |
| -R | (IPv4) Record Route (max ca 9 hoppar; många ignorerar). |
| -s packetsize | Antal databytar (default 56 → 64 inkl. ICMP-huvud). Max teoretiskt 65507 (IPv4) / 65527 (IPv6); praktiska gränser lägre. |
| -S sndbuf | Sätt socket-sendbuffert (default: rymmer högst ett paket). |
| -t ttl | (IPv4) Sätt IP Time-To-Live. |
| -T timestamp_option | IP-tidsstämplar: tsonly, tsandaddr, tsprespec host1 [...]. |
| -U | Visa full ”user-to-user”-latens (äldre beteende). |
| -v | Utförlig utdata; döljer inte DUP vid multicast. |
| -V | Visa version och avsluta. |
| -w deadline | Total timeout i sekunder innan avslut, oavsett antal skickade/svarade. |
| -W timeout | Svarstid-timeout per probe i sekunder (0 = oändlig). Vid svar väntar ping normalt upp till 2×RTT. |
MILJÖ
IPUTILS_PING_PTR_LOOKUP=0 inaktiverar reverse DNS som standard. Åsidosätts av -H/-n.
RETURKODER
- 0 – minst ett svar erhölls (och övrigt OK)
- 1 – inga svar alls, eller färre än count innan deadline
- 2 – annat fel
IPv6 link-local
För link-local-mål krävs ofta utgränssnitt. Ange med %ifname/ifindex (t.ex. fe80::1%eth0) eller med -I. Datagramsocket kräver gränssnitt; rå-socket rekommenderar det för tydlighet.
ICMP-paket
IP-huvud utan optioner är 20 B. ICMP ECHO_REQUEST har +8 B ICMP-huvud + data. Angiven packetsize avser datadelen. Om datan rymmer en struct timeval lägger ping in tidsstämpel för RTT-beräkning.
Dubbletter och skadade paket
Dubbletter bör inte förekomma (kan tyda på olämpliga länk-återsändningar). Skadade paket tyder ofta på hårdvarufel längs vägen.
ID-kollisioner
ICMP identifier (16-bit) används i stället för portnummer. Två samtidiga ping med samma ID på samma värd kan få svar levererat fel. ping använder PID; med /proc/sys/kernel/pid_max > 65535 ökar kollisionsrisken.
Testa olika datamönster
Data-beroende nätproblem kan uppdagas med -p (t.ex. -p ff, låga transitioner m.m.). Ibland krävs omfattande testning med verkliga filer/mönster.
TTL-detaljer
TTL minskar normalt med 1 per router. Svars-TTL kan:
- lämnas oförändrad (gamla BSD)
- sättas till 255 (moderna BSD → 255 − returroutrar)
- sättas till annan standard (t.ex. 30/60)
TCP rekommenderar initial TTL ≈ 64 (max 255); se RFC 9293.
BUGGAR
- Många noder ignorerar RECORD_ROUTE.
- IP-huvudets maxlängd räcker sällan för full väglogg.
- Flood-ping (särskilt broadcast) ska endast användas under strikt kontrollerade former.
SÄKERHET
ping kräver CAP_NET_RAW i bl.a. dessa fall: NI-frågor (-N), identifier=0 (-e 0), om ICMP-datagramsockets saknas, eller om användaren inte får skapa echo-socket. Programmet kan vara setuid root.
TILLGÄNGLIGHET
ping ingår i paketet iputils.
HISTORIK
ping kom i 4.3BSD. Denna version är Linux-specifik. Sedan iputils s20150815 finns inte separat ping6; en symlink ger samma funktion.
SE ÄVEN
COLOFON
Denna sida är del av projektet iputils. Projekt: http://www.skbuff.net/iputils/ — källrepo: https://github.com/iputils/iputils.git (senaste kända commit 2025-01-13). Rendering/uppdateringsanmärkningar: man-pages@man7.org.
Sidslut
Orginalhemsidan på Engelska : https://man7.org/linux/man-pages/man8/ping.8.html
Det här är en maskinöversättning av Linux man sidor till svenska. Om du hittar fel är vi tacksamma om du rapporterar dem via formuläret som finns på
https://www.linux.se/kontaka-linux-se/
Tack till Datorhjälp som har sponsrat Linux.se med webbhotell.