2010-02-26 7 views
1

J'ai vérifié la page de manuel de tcpdump et ai cru comprendre l'exemple fourni là-bas. Mais celui que je reçois est quelque chose que je ne suis pas capable de comprendre complètement.besoin d'aide pour interpréter les résultats de tcpdump

ORIGINAL: Simulateur de sortie

LINE 1: 20:01:13.442111 IP 10.0.0.1.12345 > 10.0.0.2.54321: S 1234:1234(0) win 65535 
LINE 2: 20:01:13.471705 IP 10.0.0.2.54321 > 10.0.0.1.12345: S 4321:4321(0) ack 1235 win 65535 
LINE 3: 20:01:13.497389 IP 10.0.0.1.14640 > 10.0.0.2.12756: . ack 4322 win 65535 
LINE 4: 20:01:13.497422 IP 10.0.0.1.12345 > 10.0.0.2.54321: . 1235:2682(1447) win 65535 
LINE 5: 20:01:14.023273 IP 10.0.0.2.12756 > 10.0.0.1.14640: . ack 5768 win 65535 

Voici ce que je comprends:

LINE 1: 1 sends 2 0 bytes starting with SEQ number 1234 
LINE 2: 2 sends 1 0 bytes starting with SEQ number 4321 and an ACK = (1's SEQ + 1) i.e. 1235 
LINE 3: 1 sends 2 0 bytes with an ACK = (2's SEQ + 1) i.e. 4322 
LINE 4: 1 sends 2 1447 bytes starting with SEQ number 1235 until 2682 (1447 bytes in total) 
LINE 5: 2 sends 1 0 bytes with an ACK = 5768? What is this number? Isn't it supposed to be 2683? 

Peut-être que je manque quelque chose trop évident. Quelqu'un peut-il le signaler s'il vous plaît?

EDIT 1: sortie du simulateur (une info rassemblés de connexion)

20:01:13.442111 IP 10.0.0.1.12345 > 10.0.0.2.54321: S 1234:1234(0) win 65535 
20:01:13.471705 IP 10.0.0.2.54321 > 10.0.0.1.12345: S 4321:4321(0) ack 1235 win 65535 
20:01:13.497422 IP 10.0.0.1.12345 > 10.0.0.2.54321: . 1235:2682(1447) win 65535 
20:01:14.573322 IP 10.0.0.2.54321 > 10.0.0.1.12345: . ack 5981 win 65535 
20:01:14.593870 IP 10.0.0.1.12345 > 10.0.0.2.54321: . 4129:5576(1447) win 65535 
20:01:14.639457 IP 10.0.0.1.12345 > 10.0.0.2.54321: . 7023:8470(1447) win 65535 
20:01:14.639606 IP 10.0.0.1.12345 > 10.0.0.2.54321: . 9917:10640(723) win 65535 
20:01:14.660971 IP 10.0.0.2.54321 > 10.0.0.1.12345: . ack 11769 win 65535 
20:01:14.693847 IP 10.0.0.1.12345 > 10.0.0.2.54321: . 12087:13534(1447) win 65535 
20:01:14.726564 IP 10.0.0.2.54321 > 10.0.0.1.12345: . ack 15964 win 65535 

Question: L'ACK semble encore être différent. Il est 5981 au lieu de 2683.

EDIT 2: La production réelle TCP

22:20:14.492625 IP 72.14.204.99.80 > 10.0.2.15.59745: S 255616001:255616001(0) ack 1727704513 win 65535 <mss 1460> 
22:20:14.495606 IP 10.0.2.15.59745 > 72.14.204.99.80: . ack 255616002 win 5840 
22:20:14.501015 IP 10.0.2.15.59745 > 72.14.204.99.80: P 1727704513:1727705327(814) ack 255616002 win 5840 
22:20:14.501746 IP 72.14.204.99.80 > 10.0.2.15.59745: . ack 1727705327 win 65535 
22:20:14.562197 IP 72.14.204.99.80 > 10.0.2.15.59745: P 255616002:255616102(100) ack 1727705327 win 65535 
22:20:14.562298 IP 10.0.2.15.59745 > 72.14.204.99.80: . ack 255616102 win 5840 
22:20:14.630749 IP 10.0.2.15.59745 > 72.14.204.99.80: P 1727705327:1727706096(769) ack 255616102 win 5840 
22:20:14.631228 IP 72.14.204.99.80 > 10.0.2.15.59745: . ack 1727706096 win 65535 
22:20:14.692324 IP 72.14.204.99.80 > 10.0.2.15.59745: P 255616102:255616338(236) ack 1727706096 win 65535 
22:20:14.692361 IP 10.0.2.15.59745 > 72.14.204.99.80: . ack 255616338 win 6432 

Question: J'ai essayé selon votre suggestion et grep'ed la sortie d'une connexion. Mais cette fois, pourquoi l'ACK est-il comme ça au lieu de SEQ + 1?

+0

Avez-vous mis la capture tcpdump dans iOS? Si oui pouvez-vous s'il vous plaît me suggérer la façon de le faire. –

Répondre

1

chèque du numéro de port, il semble que LINE1, LINE2 et Ligne5 appartiennent à une session en LIGNE2 et LIGNE4 est dans une autre session.

lieu en utilisant tcpdump pour l'analyse de paquets, je vous suggère fortement de capturer des paquets avec tcpdump, et d'analyser le résultat avec l'outil Wireshark.

EDIT: Pour le flux de simulateur, il gâcher. Puisque les numéros de séquence des paquets 10.0.0.1 -> 10.0.0.2 ne sont pas complètement, je pense que peut-être un paquet n'a pas été capturé et le timing n'affiche pas le statut réel. donc vous pouvez l'ignorer.

Pour le flux réel, il est correct. Pour le paquet syn, réponse ack = seq +1; pour l'envoi de contenu, ack = seq + len. Le flux nous le montre réellement.

+0

Des explications sur les raisons pour lesquelles vous pensez qu'elles pourraient être différentes? J'utilise un simulateur pour produire cette sortie et je l'utilise uniquement sur la sortie TCP. En outre, nous pouvons observer le processus de prise de contact TCP dans LINES 1-3. Qu'est-ce que tu penses? – Legend

+0

@Legend, une connexion est limitée aux paires de ports; votre tcdpump peut avoir une relation avec l'implémentation du réseau de votre simulateur. Mieux vaut tcpdump un vrai tcp pour apprendre à se débarrasser du comportement du simulateur. –

+0

Merci pour l'explication. Juste ajouté deux parties: EDIT 1 et EDIT 2. Dans le premier, j'ai grepped quelques lignes pour une seule connexion. Dans Edit 2, j'ai copié la vraie sortie de tcp que j'ai eue ... Une explication pour le vrai comportement de tcp? – Legend

Questions connexes