博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
当对端IP可达但没有监听对应的端口时候, 对端会发出RST报文
阅读量:4141 次
发布时间:2019-05-25

本文共 1988 字,大约阅读时间需要 6 分钟。

        我们知道, 如果服务端的IP不可达, 那么客户端在进行连接的时候, syn包收不到服务端的ack, 此时会进行超时重传。 如果服务端的IP可达, 但没有监听对应的端口时候, 会出现什么情况呢? 我们来看看。

        客户端程序为:

#include 
#include
#include
#include
#include
#include
int main(){ int sockClient = socket(AF_INET, SOCK_STREAM, 0); struct sockaddr_in addrSrv; addrSrv.sin_addr.s_addr = inet_addr("10.100.70.140"); addrSrv.sin_family = AF_INET; addrSrv.sin_port = htons(8765); connect(sockClient, ( const struct sockaddr *)&addrSrv, sizeof(struct sockaddr_in)); #define N 20000 char szSendBuf[N] = {0}; for(unsigned int i = 0; i < N; i++) //字符数组最后一个字符不要求是‘\0’ { szSendBuf[i] = 'a'; } int iRet = send(sockClient, szSendBuf, sizeof(szSendBuf) , 0); printf("send size is %d, iRet is %d\n", sizeof(szSendBuf), iRet); getchar(); close(sockClient); return 0;}
       客户端和10.100.70.140能ping通, 但10.100.70.140并没有监听8765端口, 实际抓包如下:

19:00:13.139662 IP 10.100.70.139.28393 > 10.100.70.140.ultraseek-http: Flags [S], seq 954253747, win 14280, options [mss 1428,sackOK,TS val 1557687529 ecr 0,nop,wscale 8], length 0        0x0000:  4500 003c ad5a 4000 4006 eb82 0a64 468b  E..<.Z@.@....dF.        0x0010:  0a64 468c 6ee9 223d 38e0 c1b3 0000 0000  .dF.n."=8.......        0x0020:  a002 37c8 a20d 0000 0204 0594 0402 080a  ..7.............        0x0030:  5cd8 6ce9 0000 0000 0103 0308 0000 0000  \.l.............        0x0040:  0000 0000 0000 0000 0000 0000            ............19:00:13.139828 IP 10.100.70.140.ultraseek-http > 10.100.70.139.28393: Flags [R.], seq 0, ack 954253748, win 0, length 0        0x0000:  4500 0028 9d88 4000 4006 fb68 0a64 468c  E..(..@.@..h.dF.        0x0010:  0a64 468b 223d 6ee9 0000 0000 38e0 c1b4  .dF."=n.....8...        0x0020:  5014 0000 8236 0000 0101 080a 5cd8 0149  P....6......\..I        0x0030:  5cd8 0632 0000 0000                      \..2....
       可以看到, 当客户端发出syn后, 服务端立即给RST, 告诉客户端: 别瞎来, 我根本没有监听8765, 不可连接。

       实际上, 如果要验证这样情况下的RST, 完全不用写程序, 可以直接telnet测试搞起。

       好, 先说这么多, 后续我们将会谈到更多与RST有关的场景。

转载地址:http://hjwti.baihongyu.com/

你可能感兴趣的文章
CCCC周六/水仙花数/hdu1408,完数/
查看>>
速戳!小白看 超详细bfs入门/迷宫问题POJ3984
查看>>
bfs..cow
查看>>
用dfs实现图中有无环的查询
查看>>
背包问题/HDU串1248
查看>>
阶乘/ZJUT校赛&quot;诚哥爱数学&quot;/
查看>>
并查集和/图书馆/一点点map/
查看>>
UVA1395 苗条的生成树/连续递增子序列(?)/克鲁斯卡尔
查看>>
bfs别忘啊...UVA11624Fire!(BFS) 止めないで//车轮的bfs /UVA10047
查看>>
【最短路】之dijskra HDU2544
查看>>
我就是想写一篇csdn博客
查看>>
HDU6024简单递推-糖果屋
查看>>
!滚动数组和状态压缩!/金马五校(什么)的K序列/
查看>>
你有多少胜算把我困在里面/周六省赛模拟大概想到了一些//ZOJ - 3787/ZOJ - 3785 费马,,??
查看>>
/*0427 深刻的反思 */
查看>>
超详细POJ3104题解 DRYING/dying 单独给它写一篇二分(并不是) 还有/现在就去/
查看>>
POJ3258 二分初步/奶牛跳河 ZOJ4033 省赛-.-
查看>>
瞒过样例的眼睛/AtCoder - 4117 / ZOJ-4034 (18浙江省赛)Problem K
查看>>
Codeforces Round #479 (Div. 3) 的 E D
查看>>
POJ 3320 Jessica的阅读有问题(尺取 ,map)
查看>>