TCP协议

一、TCP理论概述:
1.1)TCP协议的可靠性(与UDP比较):
面向连接的传输;
最大报文字段长度;
传输确认机制;
首部和数据的校验和;
流量控制(滑动窗口机制);
1.2)TCP报文头格式:
在这里插入图片描述
Flags位:
①URG:紧急指针(直接发送处理)
②ACK:确认报文
③RSH :数据推送
④RST:连接重置
⑤SYN:建立连接报文
⑥FIN:结束报文
2.1)建立连接(三次握手):

2.2)断开连接(四次断开):

2.3)TCP十一个连接状态:

二、Linux系统TCP报文(tcpdump)
1)三次握手:

12:19:57.684776 IP 10.200.6.10.42973 > 10.200.6.1.ssh: Flags [S], seq 4075047016, win 14600, options [mss 1460,sackOK,TS val 1027796768 ecr 0,nop,wscale 7], length 0
12:19:57.684797 IP 10.200.6.1.ssh > 10.200.6.10.42973: Flags [S.], seq 3113040666, ack 4075047017, win 14480, options [mss 1460,sackOK,TS val 1897051220 ecr 

1027796768,nop,wscale 7], length 0
12:19:57.684927 IP 10.200.6.10.42973 > 10.200.6.1.ssh: Flags [.], ack 1, win 115, options [nop,nop,TS val 1027796769 ecr 1897051220], length 0

时间 ID号 协议 源IP.端口 <传输方向> 目的IP.端口 Flags标志位 序列号 …
Flags标志位:S=SYN,F=FIN,P=PSH,ack=ACK,RST=RESET, 小数点.表示无标志。
三次握手Flags经过S、S.(SYN+ACK)、.(ACK)
2)数据传输:

12:19:57.691936 IP 10.200.6.10.42973 > 10.200.6.1.ssh: Flags [P.], seq 982:1006, ack 862, win 128, options [nop,nop,TS val 1027796775 ecr 1897051227], length 24
12:19:57.692987 IP 10.200.6.1.ssh > 10.200.6.10.42973: Flags [P.], seq 862:1014, ack 1006, win 129, options [nop,nop,TS val 1897051228 ecr 1027796775], length 152
12:19:57.693351 IP 10.200.6.10.42973 > 10.200.6.1.ssh: Flags [P.], seq 1006:1150, ack 1014, win 141, options [nop,nop,TS val 1027796777 ecr 1897051228], length 144
12:19:57.695655 IP 10.200.6.1.ssh > 10.200.6.10.42973: Flags [P.], seq 1014:1734, ack 1150, win 144, options [nop,nop,TS val 1897051230 ecr 1027796777], length 720

win:滑动窗口 ;options:选项
1)四次断开:

12:19:59.101981 IP 10.200.6.10.42973 > 10.200.6.1.ssh: Flags [F.], seq 2366, ack 2374, win 167, options [nop,nop,TS val 1027798186 ecr 1897052637], length 0
12:19:59.102023 IP 10.200.6.1.ssh > 10.200.6.10.42973: Flags [.], ack 2367, win 204, options [nop,nop,TS val 1897052637 ecr 1027798186], length 0
12:19:59.103077 IP 10.200.6.1.ssh > 10.200.6.10.42973: Flags [F.], seq 2374, ack 2367, win 204, options [nop,nop,TS val 1897052638 ecr 1027798186], length 0
12:19:59.103206 IP 10.200.6.10.42973 > 10.200.6.1.ssh: Flags [.], ack 2375, win 167, options [nop,nop,TS val 1027798187 ecr 1897052638], length 0

四次断开Flags经过:F.(FIN+ACK)、.(ACK)、F.、.
4)awk查看tcp状态并统计个数:
①ss -at|awk ‘NR>1{a[KaTeX parse error: Expected 'EOF', got '}' at position 5: 1]++}̲END{for(i in a)…NF]++}END{for(i in a)print i,a[i]}’
③lsof -i tcp|awk ‘NR>1{a[$NF]++}END{for(i in a)print i,a[i]}’

																			2018.09.29
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值