首页 > 学技术 > 技术网文 > 网络技术 > 正文

[精彩] 请教,怎么我用tcpdump监听的tcp三次握手第三次的ack序列号是1?


来源 chinaunix.net 酷勤网整理

怎么我用tcpdump监听的tcp三次握手第三次的ack序列号是1?望各位指点一二,十分感谢!

15:21:13.119600 168.168.10.164.2218 >; localhost.8010: S 3354149270:3354149270(0) win 65535 <mss 1460,nop,nop,sackOK>; (DF)
15:21:13.119652 localhost.8010 >; 168.168.10.164.2218: S 3928180:3928180(0) ack 3354149271 win 5840 <mss 1460,nop,nop,sackOK>; (DF)
15:21:13.119995 168.168.10.164.2218 >; localhost.8010: . ack 1 win 65535 (DF)
15:21:17.506533 168.168.10.164.2218 >; localhost.8010: P 1:2(1) ack 1 win 65535 (DF)




 lozity 回复于:2005-09-28 15:50:44

楼上的老大是在主机上这么做吗?为什么我在linux上没有发现这个命令???


 abel 回复于:2005-09-28 16:46:20

tcpdump 妙用無窮, 樓主不思自己研究,該打
我記不太清楚, 3 way handshaking 中的第三次 FLAG 是什麼,好像是 ACK 而以
而 ack number 為1 , 首先你要看懂 tcp 表頭..這個就不說了...
tcpdump 'tcp[8:4]&0xffffffff=1 and tcp[13] & 0xff=16'

tcp[8] 欄位第8 byet 後面四個值 & (AND) 0xffffffff =1,表示 ack number=1
tcp[13] , & 0xff 表示取 flag 僅為 ACK 的

所以,這就是答案,如果我 3W handshaking 沒記錯的話,如果不是你自己查了
不過要發生這個條件的機率相當低 ...簡直不太可能

去找一個叫 hping2 的 tool
hping2 ip -L 1 -A

-L 1 對該 IP 送出 ack numer 為 1
-A tcp flag 為 ack
的封包,如此 ...大功告成,不過這兩個 tool 你得花點時間研究了


 我爱臭豆腐 回复于:2005-09-28 16:53:06

引用:原帖由 "abel" 发表:
-L 1 對該 IP 送出 ack numer 為 1
-A tcp flag 為 ack
的封包,如此 ...大功告成,不過這兩個 tool 你得花點時間研究了



值得学习.


 colddawn 回复于:2005-09-29 07:28:13

tcpdump默认用了相对序号,也就是说只有在syn包的时候才会显示完整序列号,非syn包只显示相对于它的syn包的序列号增量,例如第一个ack自然就是1了,以后这个连接方向上的序列号也就相对的2,3,4,5这样的增加,为了方便观看而已。


 lozity 回复于:2005-09-29 08:30:05

在linux下tcpdump命令用什么替代的???谢谢


 我爱臭豆腐 回复于:2005-09-29 08:49:35

很多linux下面都有啊.如果是没有可以下载一个.http://www.tcpdump.org/binaries.html


 河里的鱼 回复于:2005-09-29 10:20:27

引用:原帖由 "colddawn"]tcpdump默认用了相对序号,也就是说只有在syn包的时候才会显示完整序列号,非syn包只显示相对于它的syn包的序列号增量,例如第一个ack自然就是1了,以后这个连接方向上的序列号也就相对的2,3,4,5这样的增加,为了..........
 发表:



YES~~~~~~ :m01:


 Devil_xl 回复于:2005-09-29 11:38:57

恩!


 qiuqiu621 回复于:2005-09-29 16:21:54

请问一下下面这条内容中后半部分(从V3 开始)是什么意思啊?我用tcpdump监听访问本地UDP 123端口的数据流量
08:00:03.708511 192.168.206.178.ntp >; 192.168.188.2.ntp:  v3 client strat 3 poll 6 prec -18 [tos 0xc0]


 wonderliang 回复于:2005-09-29 17:18:37

我猜,搂主想知道的是,都第三个包了,ack怎么还是1:
我记得是这样,假设
第一个包:A发起tcp连接到B
第二个包:B发ack 1回A,并且自己再发一个syn给A,这两个过程相对独立,不受第一个ACK影响。
第三个包:A发ack 1回B
这样就可以理解了。


 qzhu 回复于:2005-10-01 01:55:25

ntp V3 means ntp version 3


 colddawn 回复于:2005-10-01 09:55:17

udp 123g刚好是ntp的服务端口,楼主你抓到ntp同步的数据报了,对于一些已知协议,tcpdump能基本解读数据报的内容的


 jerse 回复于:2005-10-08 09:24:32

唉,都是我看书不深入,tcpdump要加个-S参数才会显示绝对序列号,不然是相对的,呵呵,谢谢各位:)


 kuaiyiec 回复于:2005-10-11 01:27:12

好高深噢~~


 忽悠2008 回复于:2005-10-27 16:16:09




 cobra533 回复于:2005-10-27 21:45:58

tcpdumfp用的是相对序列号


 loveKDE 回复于:2005-11-30 12:40:31

linux主机上没有?不会吧。。我怎么都有?


 秋池飞叶 回复于:2005-12-25 20:03:24

引用:原帖由 jerse 于 2005-10-8 09:24 发表
唉,都是我看书不深入,tcpdump要加个-S参数才会显示绝对序列号,不然是相对的,呵呵,谢谢各位:) 


正解~!各位可以去翻翻书,我记得书上说对比较大的字符串排序很麻烦,而ACK又是上一序号加1,所以默认情况下就是ACK1了~


 aobai 回复于:2007-04-08 21:29:58

我的也没有.:evil::evil::evil:




原文链接:http://bbs.chinaunix.net/viewthread.php?tid=618214
转载请注明作者名及原文出处



收藏本页到: