# tcpdump -r /tmp/tcpdump.log | grep -n 'Flags \[F' -C 10
81231-12:19:12.303419 IP 192.168.1.16.38467 > 192.168.1.18.1883: Flags [P.], seq 115696:115737, ack 291, win 229, options [nop,nop,TS val 250761905 ecr 3929061360], length 41
81232-12:19:12.303463 IP 192.168.1.18.1883 > 192.168.1.16.38467: Flags [.], ack 115737, win 229, options [nop,nop,TS val 3929066366 ecr 250761905], length 0
81233-12:19:12.708943 IP 192.168.1.179.1174 > 192.168.1.18.1883: Flags [P.], seq 1367842:1367998, ack 1734, win 512, length 156
81234-12:19:12.708972 IP 192.168.1.18.1883 > 192.168.1.179.1174: Flags [.], ack 1367998, win 65024, length 0
81235-12:19:12.760094 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 594406:594474, ack 291, win 229, options [nop,nop,TS val 250761951 ecr 3929065821], length 68
81236-12:19:12.760112 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 594474, win 229, options [nop,nop,TS val 3929066823 ecr 250761951], length 0
81237-12:19:12.775290 IP 192.168.1.15.41633 > 192.168.1.18.1883: Flags [P.], seq 115338:115379, ack 289, win 229, options [nop,nop,TS val 827791151 ecr 1939514709], length 41
81238-12:19:12.775309 IP 192.168.1.18.1883 > 192.168.1.15.41633: Flags [.], ack 115379, win 229, options [nop,nop,TS val 1939519716 ecr 827791151], length 0
81239-12:19:12.952124 IP 192.168.1.9.52456 > 192.168.1.18.1883: Flags [P.], seq 1301046:1301196, ack 1754, win 1912, length 150
81240-12:19:12.952144 IP 192.168.1.18.1883 > 192.168.1.9.52456: Flags [.], ack 1301196, win 65392, length 0
81241:12:19:13.309987 IP 192.168.1.179.1174 > 192.168.1.18.1883: Flags [F.], seq 1367998, ack 1734, win 512, length 0
81242-12:19:13.353788 IP 192.168.1.18.1883 > 192.168.1.179.1174: Flags [.], ack 1367999, win 65024, length 0
81243-12:19:13.761870 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 594474:594542, ack 291, win 229, options [nop,nop,TS val 250762051 ecr 3929066823], length 68
81244-12:19:13.761904 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 594542, win 229, options [nop,nop,TS val 3929067825 ecr 250762051], length 0
81245-12:19:13.951920 IP 192.168.1.9.52456 > 192.168.1.18.1883: Flags [P.], seq 1301196:1301346, ack 1754, win 1912, length 150
81246-12:19:13.951954 IP 192.168.1.18.1883 > 192.168.1.9.52456: Flags [.], ack 1301346, win 65392, length 0
81247-12:19:14.763603 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 594542:594610, ack 291, win 229, options [nop,nop,TS val 250762151 ecr 3929067825], length 68
81248-12:19:14.763642 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 594610, win 229, options [nop,nop,TS val 3929068826 ecr 250762151], length 0
81249-12:19:14.951947 IP 192.168.1.9.52456 > 192.168.1.18.1883: Flags [P.], seq 1301346:1301496, ack 1754, win 1912, length 150
81250-12:19:14.951979 IP 192.168.1.18.1883 > 192.168.1.9.52456: Flags [.], ack 1301496, win 65392, length 0
81251-12:19:15.615713 IP 192.168.1.13.51033 > 192.168.1.18.1883: Flags [P.], seq 115021:115062, ack 289, win 457, options [nop,nop,TS val 60782510 ecr 3847849617], length 41
--
81255-12:19:15.951950 IP 192.168.1.9.52456 > 192.168.1.18.1883: Flags [P.], seq 1301496:1301646, ack 1754, win 1912, length 150
81256-12:19:15.951980 IP 192.168.1.18.1883 > 192.168.1.9.52456: Flags [.], ack 1301646, win 65392, length 0
81257-12:19:16.748352 IP 192.168.1.16.33404 > 192.168.1.18.1883: Flags [P.], seq 253895:253934, ack 291, win 229, options [nop,nop,TS val 250762350 ecr 3929065805], length 39
81258-12:19:16.748398 IP 192.168.1.18.1883 > 192.168.1.16.33404: Flags [.], ack 253934, win 237, options [nop,nop,TS val 3929070811 ecr 250762350], length 0
81259-12:19:16.748702 IP 192.168.1.16.33404 > 192.168.1.18.1883: Flags [P.], seq 253934:254040, ack 291, win 229, options [nop,nop,TS val 250762350 ecr 3929070811], length 106
81260-12:19:16.748717 IP 192.168.1.18.1883 > 192.168.1.16.33404: Flags [.], ack 254040, win 237, options [nop,nop,TS val 3929070812 ecr 250762350], length 0
81261-12:19:16.767023 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 594678:594746, ack 291, win 229, options [nop,nop,TS val 250762351 ecr 3929069828], length 68
81262-12:19:16.767038 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 594746, win 229, options [nop,nop,TS val 3929070830 ecr 250762351], length 0
81263-12:19:16.951921 IP 192.168.1.9.52456 > 192.168.1.18.1883: Flags [P.], seq 1301646:1301796, ack 1754, win 1912, length 150
81264-12:19:16.951947 IP 192.168.1.18.1883 > 192.168.1.9.52456: Flags [.], ack 1301796, win 65392, length 0
81265:12:19:16.960048 IP 192.168.1.9.52456 > 192.168.1.18.1883: Flags [F.], seq 1301796, ack 1754, win 1912, length 0
81266-12:19:17.003772 IP 192.168.1.18.1883 > 192.168.1.9.52456: Flags [.], ack 1301797, win 65392, length 0
81267-12:19:17.309500 IP 192.168.1.16.38467 > 192.168.1.18.1883: Flags [P.], seq 115737:115778, ack 291, win 229, options [nop,nop,TS val 250762406 ecr 3929066366], length 41
81268-12:19:17.309533 IP 192.168.1.18.1883 > 192.168.1.16.38467: Flags [.], ack 115778, win 229, options [nop,nop,TS val 3929071372 ecr 250762406], length 0
81269-12:19:17.768773 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 594746:594814, ack 291, win 229, options [nop,nop,TS val 250762452 ecr 3929070830], length 68
81270-12:19:17.768809 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 594814, win 229, options [nop,nop,TS val 3929071832 ecr 250762452], length 0
81271-12:19:17.782180 IP 192.168.1.15.41633 > 192.168.1.18.1883: Flags [P.], seq 115379:115420, ack 289, win 229, options [nop,nop,TS val 827791652 ecr 1939519716], length 41
81272-12:19:17.782212 IP 192.168.1.18.1883 > 192.168.1.15.41633: Flags [.], ack 115420, win 229, options [nop,nop,TS val 1939524723 ecr 827791652], length 0
81273-12:19:18.770541 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 594814:594882, ack 291, win 229, options [nop,nop,TS val 250762552 ecr 3929071832], length 68
81274-12:19:18.770580 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 594882, win 229, options [nop,nop,TS val 3929072833 ecr 250762552], length 0
81275-12:19:19.772287 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 594882:594950, ack 291, win 229, options [nop,nop,TS val 250762652 ecr 3929072833], length 68
--
81312-12:19:26.761606 IP 192.168.1.16.33404 > 192.168.1.18.1883: Flags [P.], seq 254226:254332, ack 291, win 229, options [nop,nop,TS val 250763351 ecr 3929080824], length 106
81313-12:19:26.761621 IP 192.168.1.18.1883 > 192.168.1.16.33404: Flags [.], ack 254332, win 237, options [nop,nop,TS val 3929080825 ecr 250763351], length 0
81314-12:19:26.783733 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 595358:595426, ack 291, win 229, options [nop,nop,TS val 250763353 ecr 3929079845], length 68
81315-12:19:26.783750 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 595426, win 229, options [nop,nop,TS val 3929080847 ecr 250763353], length 0
81316-12:19:27.321615 IP 192.168.1.16.38467 > 192.168.1.18.1883: Flags [P.], seq 115819:115860, ack 291, win 229, options [nop,nop,TS val 250763407 ecr 3929076379], length 41
81317-12:19:27.321658 IP 192.168.1.18.1883 > 192.168.1.16.38467: Flags [.], ack 115860, win 229, options [nop,nop,TS val 3929081385 ecr 250763407], length 0
81318-12:19:27.785492 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 595426:595494, ack 291, win 229, options [nop,nop,TS val 250763453 ecr 3929080847], length 68
81319-12:19:27.785539 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 595494, win 229, options [nop,nop,TS val 3929081848 ecr 250763453], length 0
81320-12:19:27.795838 IP 192.168.1.15.41633 > 192.168.1.18.1883: Flags [P.], seq 115461:115502, ack 289, win 229, options [nop,nop,TS val 827792653 ecr 1939529730], length 41
81321-12:19:27.795865 IP 192.168.1.18.1883 > 192.168.1.15.41633: Flags [.], ack 115502, win 229, options [nop,nop,TS val 1939534737 ecr 827792653], length 0
81322:12:19:28.384144 IP 192.168.1.179.1175 > 192.168.1.18.1883: Flags [F.], seq 17, ack 1, win 512, length 0
81323-12:19:28.433787 IP 192.168.1.18.1883 > 192.168.1.179.1175: Flags [.], ack 18, win 10720, length 0
81324-12:19:28.787225 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 595494:595562, ack 291, win 229, options [nop,nop,TS val 250763553 ecr 3929081848], length 68
81325-12:19:28.787266 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 595562, win 229, options [nop,nop,TS val 3929082850 ecr 250763553], length 0
81326-12:19:28.879174 IP 192.168.1.15.41633 > 192.168.1.18.1883: Flags [P.], seq 115502:115543, ack 289, win 229, options [nop,nop,TS val 827792761 ecr 1939534737], length 41
81327-12:19:28.879214 IP 192.168.1.18.1883 > 192.168.1.15.41633: Flags [.], ack 115543, win 229, options [nop,nop,TS val 1939535820 ecr 827792761], length 0
81328-12:19:28.959393 IP 192.168.1.9.52459 > 192.168.1.18.1883: Flags [R.], seq 2957602922, ack 0, win 24584, length 0
81329-12:19:28.964800 IP 192.168.1.15.41633 > 192.168.1.18.1883: Flags [P.], seq 115543:115653, ack 289, win 229, options [nop,nop,TS val 827792770 ecr 1939535820], length 110
81330-12:19:28.964819 IP 192.168.1.18.1883 > 192.168.1.15.41633: Flags [.], ack 115653, win 229, options [nop,nop,TS val 1939535906 ecr 827792770], length 0
81331-12:19:29.789014 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 595562:595630, ack 291, win 229, options [nop,nop,TS val 250763654 ecr 3929082850], length 68
81332-12:19:29.789059 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 595630, win 229, options [nop,nop,TS val 3929083852 ecr 250763654], length 0
--
81478-12:19:58.839686 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 597536:597604, ack 291, win 229, options [nop,nop,TS val 250766559 ecr 3929111901], length 68
81479-12:19:58.839730 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 597604, win 229, options [nop,nop,TS val 3929112903 ecr 250766559], length 0
81480-12:19:58.956389 IP 192.168.1.9.52462 > 192.168.1.18.1883: Flags [R.], seq 2969263933, ack 0, win 24584, length 0
81481-12:19:59.085404 IP 192.168.1.15.41633 > 192.168.1.18.1883: Flags [P.], seq 115899:115940, ack 289, win 229, options [nop,nop,TS val 827795782 ecr 1939564946], length 41
81482-12:19:59.085440 IP 192.168.1.18.1883 > 192.168.1.15.41633: Flags [.], ack 115940, win 229, options [nop,nop,TS val 1939566027 ecr 827795782], length 0
81483-12:19:59.170399 IP 192.168.1.15.41633 > 192.168.1.18.1883: Flags [P.], seq 115940:116050, ack 289, win 229, options [nop,nop,TS val 827795790 ecr 1939566027], length 110
81484-12:19:59.170416 IP 192.168.1.18.1883 > 192.168.1.15.41633: Flags [.], ack 116050, win 229, options [nop,nop,TS val 1939566112 ecr 827795790], length 0
81485-12:19:59.332684 IP 192.168.1.179.1177 > 192.168.1.18.1883: Flags [S], seq 203424, win 512, options [mss 512], length 0
81486-12:19:59.841407 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 597604:597672, ack 291, win 229, options [nop,nop,TS val 250766659 ecr 3929112903], length 68
81487-12:19:59.841444 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 597672, win 229, options [nop,nop,TS val 3929113905 ecr 250766659], length 0
81488:12:20:00.444183 IP 192.168.1.16.38467 > 192.168.1.18.1883: Flags [F.], seq 116257, ack 291, win 229, options [nop,nop,TS val 250766719 ecr 3929111504], length 0
81489-12:20:00.493792 IP 192.168.1.18.1883 > 192.168.1.16.38467: Flags [.], ack 116258, win 229, options [nop,nop,TS val 3929114557 ecr 250766719], length 0
81490-12:20:00.843163 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 597672:597740, ack 291, win 229, options [nop,nop,TS val 250766759 ecr 3929113905], length 68
81491-12:20:00.843190 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 597740, win 229, options [nop,nop,TS val 3929114906 ecr 250766759], length 0
81492-12:20:00.904099 IP 192.168.1.13.51033 > 192.168.1.18.1883: Flags [P.], seq 115543:115584, ack 289, win 457, options [nop,nop,TS val 60787039 ecr 3847894910], length 41
81493-12:20:00.904119 IP 192.168.1.18.1883 > 192.168.1.13.51033: Flags [.], ack 115584, win 229, options [nop,nop,TS val 3847899917 ecr 60787039], length 0
81494-12:20:01.080826 IP 192.168.1.179.1177 > 192.168.1.18.1883: Flags [S], seq 203424, win 512, options [mss 512], length 0
81495-12:20:01.445776 IP 192.168.1.16.37336 > 192.168.1.18.1883: Flags [S], seq 2619628093, win 29200, options [mss 1460,sackOK,TS val 250766819 ecr 0,nop,wscale 7], length 0
81496-12:20:01.805713 IP 192.168.1.16.33404 > 192.168.1.18.1883: Flags [P.], seq 255202:255241, ack 291, win 229, options [nop,nop,TS val 250766855 ecr 3929110863], length 39
81497-12:20:01.805755 IP 192.168.1.18.1883 > 192.168.1.16.33404: Flags [.], ack 255241, win 237, options [nop,nop,TS val 3929115869 ecr 250766855], length 0
81498-12:20:01.806087 IP 192.168.1.16.33404 > 192.168.1.18.1883: Flags [P.], seq 255241:255347, ack 291, win 229, options [nop,nop,TS val 250766855 ecr 3929115869], length 106
81499-12:20:01.806101 IP 192.168.1.18.1883 > 192.168.1.16.33404: Flags [.], ack 255347, win 237, options [nop,nop,TS val 3929115869 ecr 250766855], length 0
81500-12:20:01.844850 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 597740:597808, ack 291, win 229, options [nop,nop,TS val 250766859 ecr 3929114906], length 68
81501-12:20:01.844874 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 597808, win 229, options [nop,nop,TS val 3929115908 ecr 250766859], length 0
81502-12:20:02.437600 IP 192.168.1.16.37336 > 192.168.1.18.1883: Flags [S], seq 2619628093, win 29200, options [mss 1460,sackOK,TS val 250766919 ecr 0,nop,wscale 7], length 0
81503-12:20:02.846713 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 597808:597876, ack 291, win 229, options [nop,nop,TS val 250766959 ecr 3929115908], length 68
81504-12:20:02.846763 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 597876, win 229, options [nop,nop,TS val 3929116910 ecr 250766959], length 0
81505:12:20:03.177942 IP 192.168.1.15.41633 > 192.168.1.18.1883: Flags [F.], seq 116050, ack 289, win 229, options [nop,nop,TS val 827796191 ecr 1939566112], length 0
81506-12:20:03.223786 IP 192.168.1.18.1883 > 192.168.1.15.41633: Flags [.], ack 116051, win 229, options [nop,nop,TS val 1939570165 ecr 827796191], length 0
81507-12:20:03.848471 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 597876:597944, ack 291, win 229, options [nop,nop,TS val 250767060 ecr 3929116910], length 68
81508-12:20:03.848494 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 597944, win 229, options [nop,nop,TS val 3929117912 ecr 250767060], length 0
81509-12:20:03.955637 IP 192.168.1.9.52463 > 192.168.1.18.1883: Flags [S], seq 2971596172, win 2144, options [mss 536,nop,nop,sackOK], length 0
81510-12:20:04.181524 IP 192.168.1.15.44777 > 192.168.1.18.1883: Flags [S], seq 3691131083, win 29200, options [mss 1460,sackOK,TS val 827796292 ecr 0,nop,wscale 7], length 0
81511-12:20:04.326452 IP 192.168.1.179.1177 > 192.168.1.18.1883: Flags [S], seq 203424, win 512, options [mss 512], length 0
81512-12:20:04.437566 IP 192.168.1.16.37336 > 192.168.1.18.1883: Flags [S], seq 2619628093, win 29200, options [mss 1460,sackOK,TS val 250767119 ecr 0,nop,wscale 7], length 0
81513-12:20:04.850194 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 597944:598012, ack 291, win 229, options [nop,nop,TS val 250767160 ecr 3929117912], length 68
81514-12:20:04.850240 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 598012, win 229, options [nop,nop,TS val 3929118914 ecr 250767160], length 0
81515-12:20:05.260710 IP 192.168.1.15.44777 > 192.168.1.18.1883: Flags [S], seq 3691131083, win 29200, options [mss 1460,sackOK,TS val 827796400 ecr 0,nop,wscale 7], length 0
--
81591-12:20:22.809107 IP 192.168.1.179.1177 > 192.168.1.18.1883: Flags [R.], seq 203424, ack 2226058263, win 512, length 0
81592-12:20:22.882162 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 599168:599236, ack 291, win 229, options [nop,nop,TS val 250768963 ecr 3929135944], length 68
81593-12:20:22.882207 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 599236, win 229, options [nop,nop,TS val 3929136946 ecr 250768963], length 0
81594-12:20:23.308312 IP 192.168.1.179.skkserv > 192.168.1.18.1883: Flags [S], seq 203824, win 512, options [mss 512], length 0
81595-12:20:23.883918 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 599236:599304, ack 291, win 229, options [nop,nop,TS val 250769063 ecr 3929136946], length 68
81596-12:20:23.883961 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 599304, win 229, options [nop,nop,TS val 3929137947 ecr 250769063], length 0
81597-12:20:23.955983 IP 192.168.1.9.52465 > 192.168.1.18.1883: Flags [S], seq 2976260710, win 2144, options [mss 536,nop,nop,sackOK], length 0
81598-12:20:24.307678 IP 192.168.1.179.skkserv > 192.168.1.18.1883: Flags [S], seq 203824, win 512, options [mss 512], length 0
81599-12:20:24.885665 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 599304:599372, ack 291, win 229, options [nop,nop,TS val 250769163 ecr 3929137947], length 68
81600-12:20:24.885712 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 599372, win 229, options [nop,nop,TS val 3929138949 ecr 250769163], length 0
81601:12:20:25.838547 IP 192.168.1.16.33404 > 192.168.1.18.1883: Flags [F.], seq 255927, ack 291, win 229, options [nop,nop,TS val 250769259 ecr 3929135896], length 0
81602-12:20:25.883796 IP 192.168.1.18.1883 > 192.168.1.16.33404: Flags [.], ack 255928, win 237, options [nop,nop,TS val 3929139947 ecr 250769259], length 0
81603-12:20:25.887396 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 599372:599440, ack 291, win 229, options [nop,nop,TS val 250769263 ecr 3929138949], length 68
81604-12:20:25.887422 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 599440, win 229, options [nop,nop,TS val 3929139951 ecr 250769263], length 0
81605-12:20:26.055843 IP 192.168.1.179.skkserv > 192.168.1.18.1883: Flags [S], seq 203824, win 512, options [mss 512], length 0
81606-12:20:26.152322 IP 192.168.1.13.51033 > 192.168.1.18.1883: Flags [P.], seq 115899:115940, ack 289, win 457, options [nop,nop,TS val 60789564 ecr 3847920158], length 41
81607-12:20:26.152359 IP 192.168.1.18.1883 > 192.168.1.13.51033: Flags [.], ack 115940, win 229, options [nop,nop,TS val 3847925166 ecr 60789564], length 0
81608-12:20:26.647687 IP 192.168.1.9.52465 > 192.168.1.18.1883: Flags [S], seq 2976260710, win 2144, options [mss 536,nop,nop,sackOK], length 0
81609-12:20:26.840839 IP 192.168.1.16.49174 > 192.168.1.18.1883: Flags [S], seq 1019566411, win 29200, options [mss 1460,sackOK,TS val 250769359 ecr 0,nop,wscale 7], length 0
81610-12:20:26.889139 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 599440:599508, ack 291, win 229, options [nop,nop,TS val 250769364 ecr 3929139951], length 68
81611-12:20:26.889179 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 599508, win 229, options [nop,nop,TS val 3929140953 ecr 250769364], length 0
--
81618-12:20:29.301461 IP 192.168.1.179.skkserv > 192.168.1.18.1883: Flags [S], seq 203824, win 512, options [mss 512], length 0
81619-12:20:29.837574 IP 192.168.1.16.49174 > 192.168.1.18.1883: Flags [S], seq 1019566411, win 29200, options [mss 1460,sackOK,TS val 250769659 ecr 0,nop,wscale 7], length 0
81620-12:20:29.894384 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 599644:599712, ack 291, win 229, options [nop,nop,TS val 250769664 ecr 3929142956], length 68
81621-12:20:29.894427 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 599712, win 229, options [nop,nop,TS val 3929143958 ecr 250769664], length 0
81622-12:20:30.896133 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 599712:599780, ack 291, win 229, options [nop,nop,TS val 250769764 ecr 3929143958], length 68
81623-12:20:30.896187 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 599780, win 229, options [nop,nop,TS val 3929144960 ecr 250769764], length 0
81624-12:20:31.160382 IP 192.168.1.13.51033 > 192.168.1.18.1883: Flags [P.], seq 115940:115981, ack 289, win 457, options [nop,nop,TS val 60790065 ecr 3847925166], length 41
81625-12:20:31.160429 IP 192.168.1.18.1883 > 192.168.1.13.51033: Flags [.], ack 115981, win 229, options [nop,nop,TS val 3847930174 ecr 60790065], length 0
81626-12:20:31.897939 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [P.], seq 599780:599848, ack 291, win 229, options [nop,nop,TS val 250769865 ecr 3929144960], length 68
81627-12:20:31.897988 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 599848, win 229, options [nop,nop,TS val 3929145962 ecr 250769865], length 0
81628:12:20:31.898436 IP 192.168.1.16.59147 > 192.168.1.18.1883: Flags [F.], seq 599848, ack 291, win 229, options [nop,nop,TS val 250769865 ecr 3929145962], length 0
81629-12:20:31.943775 IP 192.168.1.18.1883 > 192.168.1.16.59147: Flags [.], ack 599849, win 229, options [nop,nop,TS val 3929146007 ecr 250769865], length 0
81630-12:20:32.527572 IP 192.168.1.16.37336 > 192.168.1.18.1883: Flags [S], seq 2619628093, win 29200, options [mss 1460,sackOK,TS val 250769928 ecr 0,nop,wscale 7], length 0
81631-12:20:32.900754 IP 192.168.1.16.39198 > 192.168.1.18.1883: Flags [S], seq 3544415431, win 29200, options [mss 1460,sackOK,TS val 250769965 ecr 0,nop,wscale 7], length 0
81632-12:20:33.847565 IP 192.168.1.16.49174 > 192.168.1.18.1883: Flags [S], seq 1019566411, win 29200, options [mss 1460,sackOK,TS val 250770060 ecr 0,nop,wscale 7], length 0
81633-12:20:33.897531 IP 192.168.1.16.39198 > 192.168.1.18.1883: Flags [S], seq 3544415431, win 29200, options [mss 1460,sackOK,TS val 250770065 ecr 0,nop,wscale 7], length 0
81634-12:20:33.955643 IP 192.168.1.9.52466 > 192.168.1.18.1883: Flags [S], seq 2978593009, win 2144, options [mss 536,nop,nop,sackOK], length 0
81635-12:20:35.546207 IP 192.168.1.179.skkserv > 192.168.1.18.1883: Flags [S], seq 203824, win 512, options [mss 512], length 0
81636-12:20:35.897593 IP 192.168.1.16.39198 > 192.168.1.18.1883: Flags [S], seq 3544415431, win 29200, options [mss 1460,sackOK,TS val 250770265 ecr 0,nop,wscale 7], length 0
81637-12:20:36.140691 IP 192.168.1.15.44777 > 192.168.1.18.1883: Flags [S], seq 3691131083, win 29200, options [mss 1460,sackOK,TS val 827799488 ecr 0,nop,wscale 7], length 0
81638-12:20:36.175447 IP 192.168.1.13.51033 > 192.168.1.18.1883: Flags [P.], seq 115981:116022, ack 289, win 457, options [nop,nop,TS val 60790566 ecr 3847930174], length 41
81639-12:20:36.175494 IP 192.168.1.18.1883 > 192.168.1.13.51033: Flags [.], ack 116022, win 229, options [nop,nop,TS val 3847935189 ecr 60790566], length 0
81640:12:20:36.266149 IP 192.168.1.13.51033 > 192.168.1.18.1883: Flags [F.], seq 116022, ack 289, win 457, options [nop,nop,TS val 60790576 ecr 3847935189], length 0
81641-12:20:36.313773 IP 192.168.1.18.1883 > 192.168.1.13.51033: Flags [.], ack 116023, win 229, options [nop,nop,TS val 3847935327 ecr 60790576], length 0
81642-12:20:36.719254 IP 192.168.1.9.52466 > 192.168.1.18.1883: Flags [S], seq 2978593009, win 2144, options [mss 536,nop,nop,sackOK], length 0
81643-12:20:37.196218 IP 192.168.1.13.55755 > 192.168.1.18.1883: Flags [S], seq 1560457535, win 29200, options [mss 1460,sackOK,TS val 60790669 ecr 0,nop,wscale 6], length 0
81644-12:20:38.265965 IP 192.168.1.13.55755 > 192.168.1.18.1883: Flags [S], seq 1560457535, win 29200, options [mss 1460,sackOK,TS val 60790776 ecr 0,nop,wscale 6], length 0
81645-12:20:38.956810 IP 192.168.1.9.52466 > 192.168.1.18.1883: Flags [R.], seq 2978593010, ack 0, win 24584, length 0
81646-12:20:39.907572 IP 192.168.1.16.39198 > 192.168.1.18.1883: Flags [S], seq 3544415431, win 29200, options [mss 1460,sackOK,TS val 250770666 ecr 0,nop,wscale 7], length 0
81647-12:20:40.346009 IP 192.168.1.13.55755 > 192.168.1.18.1883: Flags [S], seq 1560457535, win 29200, options [mss 1460,sackOK,TS val 60790984 ecr 0,nop,wscale 6], length 0
81648-12:20:41.867578 IP 192.168.1.16.49174 > 192.168.1.18.1883: Flags [S], seq 1019566411, win 29200, options [mss 1460,sackOK,TS val 250770862 ecr 0,nop,wscale 7], length 0
81649:12:20:42.283306 IP 192.168.1.16.57951 > 192.168.1.18.1883: Flags [F.], seq 922, ack 291, win 229, options [nop,nop,TS val 250770903 ecr 3929127307], length 0
81650-12:20:42.323790 IP 192.168.1.18.1883 > 192.168.1.16.57951: Flags [.], ack 923, win 229, options [nop,nop,TS val 3929156387 ecr 250770903], length 0
81651-12:20:43.285669 IP 192.168.1.16.44062 > 192.168.1.18.1883: Flags [S], seq 3373190377, win 29200, options [mss 1460,sackOK,TS val 250771003 ecr 0,nop,wscale 7], length 0
81652-12:20:43.957357 IP 192.168.1.9.52467 > 192.168.1.18.1883: Flags [S], seq 2980925328, win 2144, options [mss 536,nop,nop,sackOK], length 0
81653-12:20:44.277553 IP 192.168.1.16.44062 > 192.168.1.18.1883: Flags [S], seq 3373190377, win 29200, options [mss 1460,sackOK,TS val 250771103 ecr 0,nop,wscale 7], length 0
81654-12:20:44.426041 IP 192.168.1.13.55755 > 192.168.1.18.1883: Flags [S], seq 1560457535, win 29200, options [mss 1460,sackOK,TS val 60791392 ecr 0,nop,wscale 6], length 0
81655-12:20:46.277584 IP 192.168.1.16.44062 > 192.168.1.18.1883: Flags [S], seq 3373190377, win 29200, options [mss 1460,sackOK,TS val 250771303 ecr 0,nop,wscale 7], length 0
81656-12:20:46.894454 IP 192.168.1.9.52467 > 192.168.1.18.1883: Flags [S], seq 2980925328, win 2144, options [mss 536,nop,nop,sackOK], length 0
81657-12:20:47.784055 IP 192.168.1.179.skkserv > 192.168.1.18.1883: Flags [R.], seq 203824, ack 2226058263, win 512, length 0
81658-12:20:47.927551 IP 192.168.1.16.39198 > 192.168.1.18.1883: Flags [S], seq 3544415431, win 29200, options [mss 1460,sackOK,TS val 250771468 ecr 0,nop,wscale 7], length 0
81659-12:20:48.283231 IP 192.168.1.179.1179 > 192.168.1.18.1883: Flags [S], seq 204224, win 512, options [mss 512], length 0
Hier nog een bevestiging van het vermoedde dat het in gesloten sockets zit. De betreffende gebruiker gaf aan dat het probleem rond 12:18 ontstond. Om 12:19 is de FIN te zien vanuit cliënt 179. Daarna sluiten de overige cliënts de socket en ontstaat de eindeloze SYN stroom.
Ik weet wat sockets doen en hoe asynchrone sockets werken. Ik heb tientallen prima werkende socket servers geschreven. De huidige server bezorgd me echter meer hoofdpijn dan anders. De specifieke 100% bug heb ik ook niet eerder van andere gebruikers terug gehoord en zelf geen last van, dus heel duidelijk was de bug ook niet.
Bugfixen is eerst weten waar je het moet zoeken. In dat debugging process liep ik vast, omdat ik zelf het probleem niet ervaar en niet kon reproduceren. Nu ik een sterk vermoedde van de oorzaak heb, heb ik ook wel wat ideeën om het op te lossen.