Network2/Diagnosis: Difference between revisions
< Network2
Jump to navigation
Jump to search
mNo edit summary |
mNo edit summary |
||
Line 1: | Line 1: | ||
{{Network2 header}} |
{{Network2 header}} |
||
Prerequisite concepts: [[Network2/Concept/Diagnostic|diagnostic]], [[Network2/Concept/Link|link]], [[Network2/Concept/Address|address]], [[Network2/Concept/Name|name]], [[Network2/Concept/Route|route]], [[Network2/Concept/Socket|socket]], [[Network2/Concept/Packet log|packet log]], [[Network2/Concept/Dig|dig]], [[Network2/Concept/Ping|ping]], [[Network2/Concept/Traceroute|traceroute]], [[Network2/Concept/Netcat|netcat]], [[Network2/Concept/Bandwidth test|bandwidth test]] |
Prerequisite concepts: [[Network2/Concept/Diagnostic|diagnostic]], [[Network2/Concept/Link|link]], [[Network2/Concept/Address|address]], [[Network2/Concept/Name|name]], [[Network2/Concept/Route|route]], [[Network2/Concept/Socket|socket]], [[Network2/Concept/Packet log|packet log]], [[Network2/Concept/Dig|dig]], [[Network2/Concept/Ping|ping]], [[Network2/Concept/Traceroute|traceroute]], [[Network2/Concept/Netcat|netcat]], [[Network2/Concept/Bandwidth test|bandwidth test]], [[Network2/Concept/Log bundle|log bundle]] |
||
Start recording a typescript so that we can see what you did. |
Start recording a typescript so that we can see what you did. |
Latest revision as of 06:15, 29 July 2009
Prerequisite concepts: diagnostic, link, address, name, route, socket, packet log, dig, ping, traceroute, netcat, bandwidth test, log bundle
Start recording a typescript so that we can see what you did.
TESTDIR=`pwd`/testing mkdir -p $TESTDIR && cd TESTDIR script ulimit -c unlimited
Check that you've got the right DNS name for the person you want to talk to.
NAME=the.right.person echo $NAME > peer
Dump your addresses, routes, and perhaps your open connections.
hostname --fqdn | tee host ip addr show | tee addrs ip route show | tee ipv4_routes ip -6 route show | tee ipv6_routes netstat -anp | tee conns
If you have wireless devices,
iwconfig | tee iwconfig iwlist scan | tee iwlist_scan
Fire up tcpdump:
tcpdump -w packets -s0 &
Resolve that name to addresses. Check that the addresses seem sane.
dnshash lookup $NAME | tee peer_addrs_dnshash dig $NAME | tee peer_addrs_dig
See who's answering broadcasts:
ping6 -I $IFACE ff02::1
Route to the addresses:
ping6 -I $IFACE $ADDR | tee ping traceroute6 $ADDR | tee traceroute tracepath6 $ADDR | tee tracepath
Connect to the address:
nc6 $ADDR $PORT # echo "SSH-2.0-Hi" | nc6 $ADDR 22 # printf "GET / HTTP/1.0\r\n\r\n" | nc6 $ADDR 80 # ssh $ADDR # curl -I http://$ADDR/ # ...
Conduct a bandwidth test:
iperf -c -V $ADDR
Collect logs from your application and send them to developers:
kill -SIGINT %1 cd .. tar c $TESTDIR | lzma -c > logs.tar.lzma