GithubHelp home page GithubHelp logo

novastone-media / mqtt-client-framework Goto Github PK

View Code? Open in Web Editor NEW
1.8K 1.8K 460.0 21.19 MB

iOS, macOS, tvOS native ObjectiveC MQTT Client Framework

License: Other

Objective-C 97.15% Swift 1.89% Ruby 0.93% Shell 0.02%
mqtt mqtt-client objective-c

mqtt-client-framework's Introduction

MQTT-Client-Framework

Build Status codecov CocoaPods Version Platform BrowserStack Status

MQTT-Client-Framework is a native Objective-C iOS library. It uses CFNetwork for networking and CoreData for persistence. It is a complete implementation of MQTT 3.1.1 and supports TLS.

You can read introduction to learn more about framework.

MQTT-Client-Framework is tested with a long list of brokers:

  • mosquitto
  • paho
  • rabbitmq
  • hivemq
  • rsmb
  • mosca
  • vernemq
  • emqtt
  • moquette
  • ActiveMQ
  • Apollo
  • CloudMQTT
  • aws
  • hbmqtt (MQTTv311 only, limitations)
  • aedes
  • flespi

Usage

For example app, see MQTTChat

Create a new client and connect to a broker:

#import "MQTTClient.h"

MQTTCFSocketTransport *transport = [[MQTTCFSocketTransport alloc] init];
transport.host = @"test.mosquitto.org";
transport.port = 1883;
    
MQTTSession *session = [[MQTTSession alloc] init];
session.transport = transport;
[session connectWithConnectHandler:^(NSError *error) {
	// Do some work
}];

Subscribe to a topic:

[session subscribeToTopic:@"example/#" atLevel:MQTTQosLevelExactlyOnce subscribeHandler:^(NSError *error, NSArray<NSNumber *> *gQoss) {
    if (error) {
        NSLog(@"Subscription failed %@", error.localizedDescription);
    } else {
        NSLog(@"Subscription sucessfull! Granted Qos: %@", gQoss);
    }
 }];

In your MQTTSession delegate, add the following to receive messages for the subscribed topics:

- (void)newMessage:(MQTTSession *)session data:(NSData *)data onTopic:(NSString *)topic qos:(MQTTQosLevel)qos retained:(BOOL)retained mid:(unsigned int)mid {
    // New message received in topic
}

Publish a message to a topic:

[session publishData:someData onTopic:@"example/#" retain:NO qos:MQTTQosLevelAtMostOnce publishHandler:^(NSError *error) {
}];

If you already have a self signed URL from broker like AWS IoT endpoint, use the url property of MQTTWebsocketTransport:

MQTTWebsocketTransport *transport = [[MQTTWebsocketTransport alloc] init];
transport.url = @"wss://aws.iot-amazonaws.com/mqtt?expiry='2018-05-01T23:12:32.950Z'"

MQTTSession *session = [[MQTTSession alloc] init];
session.transport = transport;
[session connectWithConnectHandler:^(NSError *error) {
    // Do some work
}];

Installation

CocoaPods

Add this to your Podfile:

pod 'MQTTClient'

which is a short for:

pod 'MQTTClient/Min'
pod 'MQTTClient/Manager'

The Manager subspec includes the MQTTSessionManager class.

If you want to use MQTT over Websockets:

pod 'MQTTClient/Websocket'

If you want to do your logging with CocoaLumberjack (recommended):

pod 'MQTTClient/MinL'
pod 'MQTTClient/ManagerL'
pod 'MQTTClient/WebsocketL'

Carthage

In your Cartfile:

github "novastone-media/MQTT-Client-Framework"

Manually

Git submodule

  1. Add MQTT-Client-Framework as a git submodule into your top-level project directory or simply copy whole folder
  2. Find MQTTClient.xcodeproj and drag it into the file navigator of your app project.
  3. In Xcode, navigate to the target configuration window by clicking on the blue project icon, and selecting the application target under the "Targets" heading in the sidebar.
  4. Under "General" panel go to "Linked Frameworks and Libraries" and add MQTTClient.framework

Framework

  1. Download MQTT-Client-Framework
  2. Build it and you should find MQTTClient.framework under "Products" group.
  3. Right click on it and select "Show in Finder" option.
  4. Just drag and drop MQTTClient.framework to your project

Security Disclosure

If you believe you have identified a security vulnerability with MQTT-Client-Framework, please report it to [email protected] and do not post it to a public issue tracker.

Thanks

This project was originally written by Christoph Krey.

mqtt-client-framework's People

Contributors

adrxx avatar alasmanis avatar anagromataf avatar aterribili avatar bobwenx avatar carllee avatar ckrey avatar cooperrs avatar danielevans avatar devashishmamgain avatar e1t0n avatar felixlam avatar iyuna avatar jakesc avatar jcavar avatar kirillyakimovich avatar kprofic avatar lilhinx avatar mark2b avatar marotan3 avatar matsukaz avatar mendirattanishant avatar mwingbermuhle avatar mycoboco avatar ogres avatar omidid avatar pahakorolev avatar rift-walker avatar rndmtsk avatar robnadin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

mqtt-client-framework's Issues

SSL Support

I read document and try use SSL. But I don't find way to use SSL cert and key.

App crashes on [MQTTDecoder stream:handleEvent:] method dring reconnecting

After removing an active connection, then I tired to establish a new connection again. (I did this process 3 to 4 time).

During connection app crashed at following method

  • (void)stream:(NSStream*)sender handleEvent:(NSStreamEvent)eventCode

Line no: 77
while (self.status == MQTTDecoderStatusDecodingLength) {

Repeated PUBREL control packet are invalid

The DUP flag got set and caused the server to close the network connection

Bits 3,2,1 and 0 of the fixed header in the PUBREL Control Packet are reserved and MUST be set to 0,0,1 and 0 respectively. The Server MUST treat any other value as malformed and close the Network Connection. [MQTT-3.6.1-1]

Symptoms might be that after a connection problem, the connection cannot be established for a longer period.

Crashed with SIGABRT when I published the messages.

Hello,

I adopted MQTT-Client-Framework in my product. :)
But I met a issue when I published messages.

Issue

I tested the library using timer. I published few messages every 10s.
After few mins, I got crashed with SIGABRT.

I ran the MQTTSession on subthread with options.

usePhysicalPersistent = NO;
maxSize = 64 * 1024 * 1024;
maxWindowSize = 16;
maxMessages = NSIntegerMax;

2015-11-06 7 55 15

Could you check the issue?

Sending empty message enters in deadlock

I am trying to send an empty payload through MQTTSessionManagerafterwards my UI enters a deadlock. It seems that the MQTTSessionManager is waiting for some Core Data operation to end.

Have you encountered such a problem before?

EXEC_BAD_ACCESS on MQTTDecoder when using invalid credentials

My broker is emqtt (https://github.com/emqtt/emqttd).

When I am sending invalid credentials to the broker I get the following message, which is OK.

MQTTSession eventCode: connection refused (1) Error Domain=MQTT Code=4 "MQTT CONNACK: bad user name or password" UserInfo=0x17427f9c0 {NSLocalizedDescription=MQTT CONNACK: bad user name or password}

But I am also getting a EXEC_BAD_ACCESS on line 188 of MQTTDecode.m

This was what I got from the debugger:

_dataBuffer NSMutableData * nil 0x0000000000000000
_delegate   id  0x0 0x0000000000000000

Printing description of msg:
<MQTTMessage: 0x17403c000>
Printing description of msg->_type:
(UInt8) _type = '\x02'
Printing description of msg->_data:
<0004>
Printing description of msg->_data->_bytes:
(void *) _bytes = 0x0000000174017d40

Start in a not main-thread question.

If mqtt run in mainThread when data push too frequently, it will feel lag when do ui interaction,
How to implement it within a not main-Thread?

Thanks.

Interoperability testing

git clone http://git.eclipse.org/gitroot/paho/org.eclipse.paho.mqtt.testing.git
cd org.eclipse.paho.mqtt.testing/interoperability
python3 startbroker.py --port 1884

INFO 20150204 234815 Stopping the MQTT server on port 1884
INFO 20150204 234815 coverage statements 55 out of 80 = 68%
INFO 20150204 234815 exceptions 2 out of 18 = 11%
INFO 20150204 234815 coverage statements found {'[MQTT-4.4.0-1]', '[MQTT-4.7.3-2]', '[MQTT-3.1.4-1]', '[MQTT-4.4.0-2]', '[MQTT-3.14.4-2]', '[MQTT-2.3.1-7]', '[MQTT-4.3.3-1]', '[MQTT-3.1.2-6]', '[MQTT-3.2.3-3]', '[MQTT-4.7.3-1]', '[MQTT-3.9.3-1]', '[MQTT-2.1.2-3]', '[MQTT-3.1.3-4]', '[MQTT-3.2.0-1]', '[MQTT-2.1.2-10]', '[MQTT-3.8.4-1]', '[MQTT-2.3.1-5]', '[MQTT-3-10.1-1]', '[MQTT-3.8.4-3]', '[MQTT-3.6.1-1]', '[MQTT-3.1.2-16]', '[MQTT-3.1.3-2]', '[MQTT-2.3.1-6]', '[MQTT-3.12.4-1]', '[MQTT-2.3.1-4]', '[MQTT-3.1.2-14]', '[MQTT-4.7.1-2]', '[MQTT-3.10.3-4]', '[MQTT-3.1.2-5]', '[MQTT-3.1.3-5]', '[MQTT-3.1.3-6]', '[MQTT-2.1.2-6]', '[MQTT-2.1.2-9]', '[MQTT-2.1.2-7]', '[MQTT-3.10.3-5]', '[MQTT-4.6.0-6]', '[MQTT-2.1.2-12]', '[MQTT-3.8.4-4]', '[MQTT-3.1.2-8]', '[MQTT-4.3.2-1]', '[MQTT-3.10.3-6]', '[MQTT-3.1.3-7]', '[MQTT-3.1.2-4]', '[MQTT-3.14.4-3]', '[MQTT-3.8.4-5]', '[MQTT-3.5.4-1]', '[MQTT-4.1.0-1]', '[MQTT-3.1.2-10]', '[MQTT-3.1.3-3]', '[MQTT-3.1.2-9]', '[MQTT-4.7.1-3]', '[MQTT-2.3.1-1]', '[MQTT-3.1.2-7]', '[MQTT-4.7.3-3]', '[MQTT-1.1.0-1]'}
INFO 20150204 234815 coverage statements not found {'[MQTT-3.1.3-8]', '[MQTT-3.3.2-1]', '[MQTT-2.1.2-5]', '[MQTT-4.3.3-2]', '[MQTT-3.1.2-19]', '[MQTT-4.3.2-3]', '[MQTT-3.1.2-15]', '[MQTT-3.14.1-1]', '[MQTT-3.1.2-22]', '[MQTT-3.10.3-2]', '[MQTT-1.2.0-3]', '[MQTT-4.3.2-2]', '[MQTT-3.10.3-3]', '[MQTT-3.1.4-3]', '[MQTT-3.1.3-1]', '[MQTT-2.1.2-2]', '[MQTT-3.1.3-9]', '[MQTT-3.2.2-1]', '[MQTT-3.6.4-1]', '[MQTT-3.10.3-1]', '[MQTT-2.1.1-11]', '[MQTT-3.3.5-1]', '[MQTT-3.1.4-2]', '[MQTT-3.1.2-2]', '[MQTT-3.1.2-17]'}
INFO 20150204 234815 exceptions found {'[MQTT-2.3.1-1]', '[MQTT-3.8.3-1]'}
INFO 20150204 234815 exceptions not found {'[MQTT-3.1.2-3]', '[MQTT-2.1.2-1]', '[MQTT-3.1.2-20]', '[MQTT-2.1.2-4]', '[MQTT-3.1.2-1]', '[MQTT-3.1.0-1]', '[MQTT-3-8.3-2]', '[MQTT-1.4.0-2]', '[MQTT-3.1.2-12]', '[MQTT-3.9.3-2]', '[MQTT-4.8.0-1]', '[MQTT-3.1.0-2]', '[MQTT-3.1.2-13]', '[MQTT-3.3.2-2]', '[MQTT-3.1.2-11]', '[MQTT-2.0.0-1]'}```

Acknowledgements not transmitted

In an environment where MQTT connections are established for short periods (< 1 min) only, acknowledgements may not get re-transmitted after failure.

Is there a way to get notified of publish result(success/failure)?

I know it's possible to get notified of successful publish by implementing - (void)messageDelivered:(MQTTSession *)session msgID:(UInt16)msgID; method, but I didn't see anything that notifies caller of failures.
- (void)connectionError:(MQTTSession *)session error:(NSError *)error; seems to only notify caller of connection failure, but not reporting on-going delivery failures.

Also, I'm using MQTTSessionManager, because i need the automatic connect/disconnect. It'll be nice if there's a delegate method called when delivery fails(mainly when network fails).

What I actually want to implement is:

  • when publishing fails, show user a retry button.
  • try to send again if user presses that button

publish from dispached queue

Hi, next code will indefinitely lock main thread of the application. Any thoughts?

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
        [_mqttClient publishJson:json onTopic:topic]; // try to call  any other publish method include "AndWait"


});

Thread 1 and 8 are using the same managed context of core data
screen shot 2015-10-14 at 19 10 27

Apple Note:
You should not, therefore, initialize a context on one thread then pass it to a different thread. Instead, you should pass a reference to a persistent store coordinator and have the receiving thread/queue create a new context derived from that.

Manual Acknowleding newMessages

is there any possibility for an overload of newMessage with an extra doAck parameter to let applications asynchronously/selectively puback when they are finished handling the message.

Question about client SSL's hostname verify

The Current MQTT client SSL implementation seems didn't verify hostname of server returned certification(or maybe i am wrong? i am not sure about this) :

    if (usingSSL) {
        const void *keys[] = { kCFStreamSSLLevel,
            kCFStreamSSLPeerName };

        const void *vals[] = { kCFStreamSocketSecurityLevelNegotiatedSSL,
            kCFNull };

        CFDictionaryRef sslSettings = CFDictionaryCreate(kCFAllocatorDefault, keys, vals, 2,
                                                         &kCFTypeDictionaryKeyCallBacks,
                                                         &kCFTypeDictionaryValueCallBacks);

        CFReadStreamSetProperty(readStream, kCFStreamPropertySSLSettings, sslSettings);
        CFWriteStreamSetProperty(writeStream, kCFStreamPropertySSLSettings, sslSettings);

        CFRelease(sslSettings);
    }

Does the property entry(kCFStreamSSLPeerName=null) will disable client-side hostname verify? if so, it's intentional to do or something else? because client-side hostname verify is important part of SSL security.

Also, i am try to implements client-side SSL certification pinning(or self-signed certification validate). does MQTT-Client-Framework already or planning to support this?

CF Network Crash

Following is a log of the crash which we get some times using the MQTT client Framework:
Do we have any solution for this already:

0 libobjc.A.dylib 0x3a377636 objc_msgSend + 22
1 CoreFoundation 0x2fbb2a4b _signalEventSync + 119
2 CoreFoundation 0x 2fbbbfe5 _cfstream_solo_signalEventSync + 197
3 CoreFoundation 0x2fbb26fd _CFStreamSignalEvent + 329
4 CFNetwork 0x 2f80f3e7 _ZN29CoreReadStreamCFStreamSupport19coreStreamReadEventEP16__CoreReadStreamm + 75
5 CFNetwork 0x2f80f391 _ZN20CoreReadStreamClient25coreStreamEventsAvailableEm + 37
6 CFNetwork 0x2f8b6497 _ZN14CoreStreamBase14_callClientNowEP16CoreStreamClient + 43
7 CFNetwork 0x2f8b64b7 ___ZN14CoreStreamBase34_streamSetEventAndScheduleDeliveryEmh_block_invoke + 23
8 CoreFoundation 0x2fb548f1 CFArrayApplyFunction + 37
9 CFNetwork 0x2f81d6bb _ZN19RunloopBlockContext7performEv + 183
10 CFNetwork 0x2f81d579 _ZN17MultiplexerSource7performEv + 221
11 CFNetwork 0x2f81d40d _ZN17MultiplexerSource8_performEPv + 49
12 CoreFoundation 0x2fbec20b CFRUNLOOP_IS_CALLING_OUT_TO_A_SOURCE0_PERFORM_FUNCTION + 15
13 CoreFoundation 0x2fbeb761 __CFRunLoopDoSources0 + 341
14 CoreFoundation 0x2fbe9ecf __CFRunLoopRun + 623
15 CoreFoundation 0x2fb54ebf CFRunLoopRunSpecific + 523
16 CoreFoundation 0x2fb54ca3 CFRunLoopRunInMode + 107
17 GraphicsServices 0x34a77663 GSEventRunModal + 139
18 UIKit 0x324a114d UIApplicationMain + 1137
19 0x001c68eb 0x00076000 + 1378539
20 libdyld.dylib 0x3a87aab7 start + 3

MQTTSession vs MQTTSessionManager

Hi,

In the first place, I'm sorry for opening an issue for this question. I'm not sure if this is the right place.

I am intrigued whether I should use MQTTSession ou MQTTSessionManager in my app. I want to keep a session to an MQTT broker, and I need to be notified of changes to the connection and handle reconnects and so on.

Which of the two classes should I use?

Not receiving messages, mosquitto version 1.4.2

Hello!
I can not get messages.
mosquitto version 1.3.4 (build date 2014-08-17 00:14:52-0300), Debian 8.0 - I get the messages
mosquitto version 1.4.2 (build date Mon, 18 May 2015 15:25:19 +0100), Ubuntu 14.04 LTS - Not receiving messages

Paho works well on both versions

I tested for this code

- (void)start
{
    NSString *uuidString = [[[UIDevice currentDevice] identifierForVendor] UUIDString];
    self.session = [[MQTTSession alloc] initWithClientId:uuidString];
    self.session.delegate = self;
    self.session.keepAliveInterval = 610;
    self.session.cleanSessionFlag = YES;

    [self.session connectAndWaitToHost:@"127.0.0.1" port:1883 usingSSL:NO];
    [self.session subscribeToTopic:@"notification" atLevel:MQTTQosLevelExactlyOnce];
}

- (void)newMessage:(MQTTSession *)session data:(NSData *)data onTopic:(NSString *)topic qos:(MQTTQosLevel)qos retained:(BOOL)retained mid:(unsigned int)mid
{
    NSLog(@"MQTT got new message");

}

- (void)subAckReceived:(MQTTSession *)session msgID:(UInt16)msgID grantedQoss:(NSArray *)qoss
{
    NSLog(@"subscribed");
}

unrecognized selector sent to class

Hi,

I'm able to successfully subscribe to a topic using the MQTT-Client-Framework in the iPhone Simulator (iphone6) in Xcode 6.2 Beta. But when testing on a real iPhone 6 device I get the following exception.

2014-12-04 10:56:35.289 cloudFM[5008:3380819] +[MQTTMessage connectMessageWithClientId:userName:password:keepAlive:cleanSession:will:willTopic:willMsg:willQoS:willRetain:protocolLevel:]: unrecognized selector sent to class 0x100057c60
2014-12-04 10:56:35.290 cloudFM[5008:3380819] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[MQTTMessage connectMessageWithClientId:userName:password:keepAlive:cleanSession:will:willTopic:willMsg:willQoS:willRetain:protocolLevel:]: unrecognized selector sent to class 0x100057c60'

Here's the code:

let _mqttSharedInstance = MQTTWrapper()

class MQTTWrapper : NSObject, MQTTSessionDelegate {
    let mqttHost = "myhost"

    class var sharedInstance : MQTTWrapper {
        return _mqttSharedInstance
    }

    var session = MQTTSession(
        clientId: "swift",
        userName: "user",
        password: "pass",
        keepAlive: 60,
        cleanSession: true,
        will: false,
        willTopic: nil,
        willMsg: nil,
        willQoS: MQTTQosLevel.QoSLevelAtMostOnce,
        willRetainFlag: false,
        protocolLevel: 3,
        runLoop: nil,
        forMode: nil
    )

    var sessionConnected = false;
    var sessionError = false;
    var sessionReceived = false;
    var sessionSubAcked = false;

    override init() {
        super.init()
        session.delegate = self;
        session.connectToHost(mqttHost,
            port: 1883,
            usingSSL: false)
        while !sessionConnected && !sessionError {
            NSRunLoop.currentRunLoop().runUntilDate(NSDate(timeIntervalSinceNow: 1))
        }
}
...

Logs

Is there any way to turn off the logs? It's making it hard to read my own logs.

EX:

<MQTTSession: 0x9d98900> keepAlive MQTTClient-0.154643 @1408170493
<MQTTEncoder: 0x9b8adb0> buffer to write (2)=...
<MQTTEncoder: 0x9b8adb0> handleEvent 0x04
<MQTTSession: 0x9d98900> encoder handleEvent: MQTTEncoderEventReady (0) (null)
<MQTTDecoder: 0x9b8ae00> handleEvent 0x02
<MQTTDecoder: 0x9b8ae00>received (0)=<>...

Pass connect parameters.

Hello, I want to be able to set a username/password, and/or the user id upon connection. I know this can be done with mqtt, is there a way to do this with your framework?

Thank you..!

Error when calling unsubscribeAndWaitTopic inside MQTTSessionDelegate method newMessage

Hi,

I've an error that cause the disconnection of the MQTT client when I call unsubscribeAndWaitTopic inside the callback newMessage. The problem is due to the fact that in MQTTDecoder class the delegate method is called before resetting dataBuffer and status (MQTTDecoder.m:134).

[self.delegate decoder:self newMessage:msg];
self.dataBuffer = NULL;
self.status = MQTTDecoderStatusDecodingHeader;

In order to solve the bug I suggest to switch the instructions order in this way, it worked for me:

self.dataBuffer = NULL;
self.status = MQTTDecoderStatusDecodingHeader;
[self.delegate decoder:self newMessage:msg];

Is it a good solution for the bug or are there better ways for solve it?

Crash while executing "CloseandWait"

Hi,

I am able to produce this crash many times, where in the MQTTSession is executing this method closeandWait and the app crashes.

Following is some crash log for the same:

CoreFoundation 0x3106af53 exceptionPreprocess + 131
libobjc.A.dylib 0x3b4436af objc_exception_throw + 36
CoreFoundation 0x3106e8e7 -[NSObject(NSObject) doesNotRecognizeSelector:] + 200
CoreFoundation 0x3106d1d3 __forwarding
+ 704
CoreFoundation 0x30fbc598 _CF_forwarding_prep_0 + 22
AppName 0x0006bc7b -MQTTSession closeAndWait
AppName 0x00187283 -MQTTConnection connectionClosed:withError:
AppName 0x00186855 -MQTTConnection timerIntervalCompleted
Foundation 0x31a4eecd __NSFireTimer + 62

Could you have a look and let me know in case there is any issue.

Regards
Ravi

File persistence

Hi, in our scenario we need to re-send messages after phone will be rebooted.
All messages will sent to the offline(airplane mode).

Steps:

  1. Send messages to offline
  2. Reboot iphone
  3. Establish connection with the same ClientID
  4. Re send messages

At the moment, all messages will be lost after reboot.

In the process of debugging i noticed that "MQTTFlow" records didn't save in the SQLite db after publishing messages while connection lost. No records at all in the DB. The persistent flag set to YES.

After saving a context [self.managedObjectContext save:&error] we should not see t simbol in the coredata:// path. But...

MQTTFlow after context was saved. &error is nil.

<MQTTFlow: 0x7fe93bc1bdd0> (entity: MQTTFlow; id: 0x7fe93bca27a0 <x-coredata:///MQTTFlow/tC5BA5714-874A-40C6-AA10-60D3D1B1B03B2> ; data: {
    clientId = tested12;
    commandType = 3;
    data = <31323331 3233>;
    deadline = "2015-07-23 11:26:43 +0000";
    incomingFlag = 0;
    messageId = 3;
    qosLevel = 2;
    retainedFlag = 0;
    topic = "test-topic1";
})

Any thoughts? Thanks!

Connection closed by broker on connect

Hi,

I'd like to use MQTT-Client-Framework in my Swift iOS project, but I can't even connect. I wrote a singleton class to handle all my MQTT business in the app, and currently in the init() I'd like to connect. This is the code I use currently:

init() {
    _mqttSession = MQTTSession(clientId: _clientId, userName: nil, password: nil, keepAlive: 10, cleanSession: false)
    _mqttSession.delegate = sessD
    _mqttSession.connectToHost(kMQTTServerHost, port: 1883, usingSSL: false)
}

sessD is a class with the NSObject and MQTTSessionDelegate protocols. I've added all functions, but even though connectionError is implemented, it doesn't get called, only handleEvent.

I see two handleEvent calls, one ConnectionClosed and a ConnectionClosedByBroker. On the broker (mosquitto 1.3.5) I can see

1424447431: New connection from 78.43.156.253 on port 1883.
1424447431: Socket error on client (null), disconnecting.

So something seems to be wrong the way the client tries to connect.

So far I've added the xcodeproj as a sub project, added libMQTTClient.a to the "linked frameworks and libraries" list, created a -Bridging-Header.h where I added `#import "MQTTClient/MQTTClient.h" and added it to the Build Settings Objective-C Bridging Header section.

What did I do wrong?

Ping server

Hi ckrey, I want to ping my server mqtt using your framework. How to do this.
Thank you

TCP Retransmission DISCONNECT

Is this a real problem?

bildschirmfoto 2014-06-29 um 14 19 54

No.     Time           Source                Destination           Protocol Length Info
     66 6.550919000    192.168.178.25        107.20.203.175        TCP      78     49877 > ibm-mqisdp [SYN] Seq=0 Win=65535 Len=0 MSS=1460 WS=16 TSval=601755386 TSecr=0 SACK_PERM=1

Frame 66: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:42.841398000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043662.841398000 seconds
    [Time delta from previous captured frame: 0.000408000 seconds]
    [Time delta from previous displayed frame: 0.000000000 seconds]
    [Time since reference or first frame: 6.550919000 seconds]
    Frame Number: 66
    Frame Length: 78 bytes (624 bits)
    Capture Length: 78 bytes (624 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: TCP SYN/FIN]
    [Coloring Rule String: tcp.flags & 0x02 || tcp.flags.fin == 1]
Ethernet II, Src: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9), Dst: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
    Destination: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 192.168.178.25 (192.168.178.25), Dst: 107.20.203.175 (107.20.203.175)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 64
    Identification: 0x60a4 (24740)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (6)
    Header checksum: 0x308e [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 192.168.178.25 (192.168.178.25)
    Destination: 107.20.203.175 (107.20.203.175)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: 49877 (49877), Dst Port: ibm-mqisdp (1883), Seq: 0, Len: 0
    Source port: 49877 (49877)
    Destination port: ibm-mqisdp (1883)
    [Stream index: 8]
    Sequence number: 0    (relative sequence number)
    Header length: 44 bytes
    Flags: 0x002 (SYN)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...0 .... = Acknowledgment: Not set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..1. = Syn: Set
            [Expert Info (Chat/Sequence): Connection establish request (SYN): server port ibm-mqisdp]
                [Message: Connection establish request (SYN): server port ibm-mqisdp]
                [Severity level: Chat]
                [Group: Sequence]
        .... .... ...0 = Fin: Not set
    Window size value: 65535
    [Calculated window size: 65535]
    Checksum: 0xada7 [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (24 bytes), Maximum segment size, No-Operation (NOP), Window scale, No-Operation (NOP), No-Operation (NOP), Timestamps, SACK permitted, End of Option List (EOL)
        Maximum segment size: 1460 bytes
            Kind: MSS size (2)
            Length: 4
            MSS Value: 1460
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Window scale: 4 (multiply by 16)
            Kind: Window Scale (3)
            Length: 3
            Shift count: 4
            [Multiplier: 16]
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 601755386, TSecr 0
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 601755386
            Timestamp echo reply: 0
        TCP SACK Permitted Option: True
            Kind: SACK Permission (4)
            Length: 2
        End of Option List (EOL)
            Type: 0
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0000 = Number: End of Option List (EOL) (0)

0000  24 65 11 6e 6c b5 7c c3 a1 b5 bb d9 08 00 45 00   $e.nl.|.......E.
0010  00 40 60 a4 40 00 40 06 30 8e c0 a8 b2 19 6b 14   .@`.@[email protected].
0020  cb af c2 d5 07 5b 6b ce 76 f9 00 00 00 00 b0 02   .....[k.v.......
0030  ff ff ad a7 00 00 02 04 05 b4 01 03 03 04 01 01   ................
0040  08 0a 23 de 0e fa 00 00 00 00 04 02 00 00         ..#...........

No.     Time           Source                Destination           Protocol Length Info
     81 6.720133000    107.20.203.175        192.168.178.25        TCP      74     ibm-mqisdp > 49877 [SYN, ACK] Seq=0 Ack=1 Win=14480 Len=0 MSS=1460 SACK_PERM=1 TSval=518111328 TSecr=601755386 WS=256

Frame 81: 74 bytes on wire (592 bits), 74 bytes captured (592 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.010612000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.010612000 seconds
    [Time delta from previous captured frame: 0.016024000 seconds]
    [Time delta from previous displayed frame: 0.169214000 seconds]
    [Time since reference or first frame: 6.720133000 seconds]
    Frame Number: 81
    Frame Length: 74 bytes (592 bits)
    Capture Length: 74 bytes (592 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: TCP SYN/FIN]
    [Coloring Rule String: tcp.flags & 0x02 || tcp.flags.fin == 1]
Ethernet II, Src: Avm_6e:6c:b5 (24:65:11:6e:6c:b5), Dst: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
    Destination: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 107.20.203.175 (107.20.203.175), Dst: 192.168.178.25 (192.168.178.25)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 60
    Identification: 0x0000 (0)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 36
    Protocol: TCP (6)
    Header checksum: 0xad36 [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 107.20.203.175 (107.20.203.175)
    Destination: 192.168.178.25 (192.168.178.25)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: ibm-mqisdp (1883), Dst Port: 49877 (49877), Seq: 0, Ack: 1, Len: 0
    Source port: ibm-mqisdp (1883)
    Destination port: 49877 (49877)
    [Stream index: 8]
    Sequence number: 0    (relative sequence number)
    Acknowledgment number: 1    (relative ack number)
    Header length: 40 bytes
    Flags: 0x012 (SYN, ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..1. = Syn: Set
            [Expert Info (Chat/Sequence): Connection establish acknowledge (SYN+ACK): server port ibm-mqisdp]
                [Message: Connection establish acknowledge (SYN+ACK): server port ibm-mqisdp]
                [Severity level: Chat]
                [Group: Sequence]
        .... .... ...0 = Fin: Not set
    Window size value: 14480
    [Calculated window size: 14480]
    Checksum: 0x66bd [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (20 bytes), Maximum segment size, SACK permitted, Timestamps, No-Operation (NOP), Window scale
        Maximum segment size: 1460 bytes
            Kind: MSS size (2)
            Length: 4
            MSS Value: 1460
        TCP SACK Permitted Option: True
            Kind: SACK Permission (4)
            Length: 2
        Timestamps: TSval 518111328, TSecr 601755386
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 518111328
            Timestamp echo reply: 601755386
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Window scale: 8 (multiply by 256)
            Kind: Window Scale (3)
            Length: 3
            Shift count: 8
            [Multiplier: 256]
    [SEQ/ACK analysis]
        [This is an ACK to the segment in frame: 66]
        [The RTT to ACK the segment was: 0.169214000 seconds]

0000  7c c3 a1 b5 bb d9 24 65 11 6e 6c b5 08 00 45 00   |.....$e.nl...E.
0010  00 3c 00 00 40 00 24 06 ad 36 6b 14 cb af c0 a8   .<..@.$..6k.....
0020  b2 19 07 5b c2 d5 91 f7 ae 10 6b ce 76 fa a0 12   ...[......k.v...
0030  38 90 66 bd 00 00 02 04 05 b4 04 02 08 0a 1e e1   8.f.............
0040  c0 60 23 de 0e fa 01 03 03 08                     .`#.......

No.     Time           Source                Destination           Protocol Length Info
     82 6.720192000    192.168.178.25        107.20.203.175        TCP      66     49877 > ibm-mqisdp [ACK] Seq=1 Ack=1 Win=131760 Len=0 TSval=601755550 TSecr=518111328

Frame 82: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.010671000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.010671000 seconds
    [Time delta from previous captured frame: 0.000059000 seconds]
    [Time delta from previous displayed frame: 0.000059000 seconds]
    [Time since reference or first frame: 6.720192000 seconds]
    Frame Number: 82
    Frame Length: 66 bytes (528 bits)
    Capture Length: 66 bytes (528 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: TCP]
    [Coloring Rule String: tcp]
Ethernet II, Src: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9), Dst: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
    Destination: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 192.168.178.25 (192.168.178.25), Dst: 107.20.203.175 (107.20.203.175)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 52
    Identification: 0xbe00 (48640)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (6)
    Header checksum: 0xd33d [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 192.168.178.25 (192.168.178.25)
    Destination: 107.20.203.175 (107.20.203.175)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: 49877 (49877), Dst Port: ibm-mqisdp (1883), Seq: 1, Ack: 1, Len: 0
    Source port: 49877 (49877)
    Destination port: ibm-mqisdp (1883)
    [Stream index: 8]
    Sequence number: 1    (relative sequence number)
    Acknowledgment number: 1    (relative ack number)
    Header length: 32 bytes
    Flags: 0x010 (ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size value: 8235
    [Calculated window size: 131760]
    [Window size scaling factor: 16]
    Checksum: 0xad4b [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 601755550, TSecr 518111328
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 601755550
            Timestamp echo reply: 518111328
    [SEQ/ACK analysis]
        [This is an ACK to the segment in frame: 81]
        [The RTT to ACK the segment was: 0.000059000 seconds]

0000  24 65 11 6e 6c b5 7c c3 a1 b5 bb d9 08 00 45 00   $e.nl.|.......E.
0010  00 34 be 00 40 00 40 06 d3 3d c0 a8 b2 19 6b 14   .4..@.@..=....k.
0020  cb af c2 d5 07 5b 6b ce 76 fa 91 f7 ae 11 80 10   .....[k.v.......
0030  20 2b ad 4b 00 00 01 01 08 0a 23 de 0f 9e 1e e1    +.K......#.....
0040  c0 60                                             .`

No.     Time           Source                Destination           Protocol Length Info
     83 6.722567000    192.168.178.25        107.20.203.175        MQTT     96     CONNECT

Frame 83: 96 bytes on wire (768 bits), 96 bytes captured (768 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.013046000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.013046000 seconds
    [Time delta from previous captured frame: 0.002375000 seconds]
    [Time delta from previous displayed frame: 0.002375000 seconds]
    [Time since reference or first frame: 6.722567000 seconds]
    Frame Number: 83
    Frame Length: 96 bytes (768 bits)
    Capture Length: 96 bytes (768 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp:mqtt]
    [Coloring Rule Name: TCP]
    [Coloring Rule String: tcp]
Ethernet II, Src: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9), Dst: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
    Destination: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 192.168.178.25 (192.168.178.25), Dst: 107.20.203.175 (107.20.203.175)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 82
    Identification: 0xbf22 (48930)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (6)
    Header checksum: 0xd1fd [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 192.168.178.25 (192.168.178.25)
    Destination: 107.20.203.175 (107.20.203.175)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: 49877 (49877), Dst Port: ibm-mqisdp (1883), Seq: 1, Ack: 1, Len: 30
    Source port: 49877 (49877)
    Destination port: ibm-mqisdp (1883)
    [Stream index: 8]
    Sequence number: 1    (relative sequence number)
    [Next sequence number: 31    (relative sequence number)]
    Acknowledgment number: 1    (relative ack number)
    Header length: 32 bytes
    Flags: 0x018 (PSH, ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 1... = Push: Set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size value: 8235
    [Calculated window size: 131760]
    [Window size scaling factor: 16]
    Checksum: 0x968f [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 601755551, TSecr 518111328
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 601755551
            Timestamp echo reply: 518111328
    [SEQ/ACK analysis]
        [Bytes in flight: 30]
MQ Telemetry Transport, Message Type: CONNECT, QoS: 0
    Fixed Header
        0001 .... = Message Type: 0x01
        .... 0... = DUP Flag: 0
        .... .00. = QoS Level: 0
        .... ...0 = Retain: 0
        Remain Length: 28
    Variable Header
        Protocol Name: MQTT
        Protocol Version: 4
        Flags
            0... .... = Username Flag: 0
            .0.. .... = Password Flag: 0
            ..0. .... = Will Retain Flag: 0
            ...0 0... = Will QoS Flag: 0
            .... .0.. = Will Flag: 0
            .... ..1. = Clean Session Flag: 1
        Keep Alive (secs): 60
    Payload
        Client ID: MQTTClient409362

0000  24 65 11 6e 6c b5 7c c3 a1 b5 bb d9 08 00 45 00   $e.nl.|.......E.
0010  00 52 bf 22 40 00 40 06 d1 fd c0 a8 b2 19 6b 14   .R."@[email protected].
0020  cb af c2 d5 07 5b 6b ce 76 fa 91 f7 ae 11 80 18   .....[k.v.......
0030  20 2b 96 8f 00 00 01 01 08 0a 23 de 0f 9f 1e e1    +........#.....
0040  c0 60 10 1c 00 04 4d 51 54 54 04 02 00 3c 00 10   .`....MQTT...<..
0050  4d 51 54 54 43 6c 69 65 6e 74 34 30 39 33 36 32   MQTTClient409362

No.     Time           Source                Destination           Protocol Length Info
     98 6.891369000    107.20.203.175        192.168.178.25        TCP      66     ibm-mqisdp > 49877 [ACK] Seq=1 Ack=31 Win=14592 Len=0 TSval=518111371 TSecr=601755551

Frame 98: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.181848000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.181848000 seconds
    [Time delta from previous captured frame: 0.017669000 seconds]
    [Time delta from previous displayed frame: 0.168802000 seconds]
    [Time since reference or first frame: 6.891369000 seconds]
    Frame Number: 98
    Frame Length: 66 bytes (528 bits)
    Capture Length: 66 bytes (528 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: TCP]
    [Coloring Rule String: tcp]
Ethernet II, Src: Avm_6e:6c:b5 (24:65:11:6e:6c:b5), Dst: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
    Destination: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 107.20.203.175 (107.20.203.175), Dst: 192.168.178.25 (192.168.178.25)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 52
    Identification: 0x6e9a (28314)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 36
    Protocol: TCP (6)
    Header checksum: 0x3ea4 [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 107.20.203.175 (107.20.203.175)
    Destination: 192.168.178.25 (192.168.178.25)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: ibm-mqisdp (1883), Dst Port: 49877 (49877), Seq: 1, Ack: 31, Len: 0
    Source port: ibm-mqisdp (1883)
    Destination port: 49877 (49877)
    [Stream index: 8]
    Sequence number: 1    (relative sequence number)
    Acknowledgment number: 31    (relative ack number)
    Header length: 32 bytes
    Flags: 0x010 (ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size value: 57
    [Calculated window size: 14592]
    [Window size scaling factor: 256]
    Checksum: 0xccf3 [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 518111371, TSecr 601755551
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 518111371
            Timestamp echo reply: 601755551
    [SEQ/ACK analysis]
        [This is an ACK to the segment in frame: 83]
        [The RTT to ACK the segment was: 0.168802000 seconds]

0000  7c c3 a1 b5 bb d9 24 65 11 6e 6c b5 08 00 45 00   |.....$e.nl...E.
0010  00 34 6e 9a 40 00 24 06 3e a4 6b 14 cb af c0 a8   .4n.@.$.>.k.....
0020  b2 19 07 5b c2 d5 91 f7 ae 11 6b ce 77 18 80 10   ...[......k.w...
0030  00 39 cc f3 00 00 01 01 08 0a 1e e1 c0 8b 23 de   .9............#.
0040  0f 9f                                             ..

No.     Time           Source                Destination           Protocol Length Info
     99 6.893587000    107.20.203.175        192.168.178.25        TCP      66     [TCP Dup ACK 98#1] ibm-mqisdp > 49877 [ACK] Seq=1 Ack=31 Win=14592 Len=0 TSval=518111372 TSecr=601755551

Frame 99: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.184066000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.184066000 seconds
    [Time delta from previous captured frame: 0.002218000 seconds]
    [Time delta from previous displayed frame: 0.002218000 seconds]
    [Time since reference or first frame: 6.893587000 seconds]
    Frame Number: 99
    Frame Length: 66 bytes (528 bits)
    Capture Length: 66 bytes (528 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: Bad TCP]
    [Coloring Rule String: tcp.analysis.flags && !tcp.analysis.window_update]
Ethernet II, Src: Avm_6e:6c:b5 (24:65:11:6e:6c:b5), Dst: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
    Destination: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 107.20.203.175 (107.20.203.175), Dst: 192.168.178.25 (192.168.178.25)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 52
    Identification: 0x6e9b (28315)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 36
    Protocol: TCP (6)
    Header checksum: 0x3ea3 [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 107.20.203.175 (107.20.203.175)
    Destination: 192.168.178.25 (192.168.178.25)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: ibm-mqisdp (1883), Dst Port: 49877 (49877), Seq: 1, Ack: 31, Len: 0
    Source port: ibm-mqisdp (1883)
    Destination port: 49877 (49877)
    [Stream index: 8]
    Sequence number: 1    (relative sequence number)
    Acknowledgment number: 31    (relative ack number)
    Header length: 32 bytes
    Flags: 0x010 (ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size value: 57
    [Calculated window size: 14592]
    [Window size scaling factor: 256]
    Checksum: 0xccf2 [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 518111372, TSecr 601755551
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 518111372
            Timestamp echo reply: 601755551
    [SEQ/ACK analysis]
        [TCP Analysis Flags]
            [This is a TCP duplicate ack]
        [Duplicate ACK #: 1]
        [Duplicate to the ACK in frame: 98]
            [Expert Info (Note/Sequence): Duplicate ACK (#1)]
                [Message: Duplicate ACK (#1)]
                [Severity level: Note]
                [Group: Sequence]

0000  7c c3 a1 b5 bb d9 24 65 11 6e 6c b5 08 00 45 00   |.....$e.nl...E.
0010  00 34 6e 9b 40 00 24 06 3e a3 6b 14 cb af c0 a8   .4n.@.$.>.k.....
0020  b2 19 07 5b c2 d5 91 f7 ae 11 6b ce 77 18 80 10   ...[......k.w...
0030  00 39 cc f2 00 00 01 01 08 0a 1e e1 c0 8c 23 de   .9............#.
0040  0f 9f                                             ..

No.     Time           Source                Destination           Protocol Length Info
    102 6.901793000    107.20.203.175        192.168.178.25        MQTT     70     CONNACK

Frame 102: 70 bytes on wire (560 bits), 70 bytes captured (560 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.192272000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.192272000 seconds
    [Time delta from previous captured frame: 0.004170000 seconds]
    [Time delta from previous displayed frame: 0.008206000 seconds]
    [Time since reference or first frame: 6.901793000 seconds]
    Frame Number: 102
    Frame Length: 70 bytes (560 bits)
    Capture Length: 70 bytes (560 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp:mqtt]
    [Coloring Rule Name: TCP]
    [Coloring Rule String: tcp]
Ethernet II, Src: Avm_6e:6c:b5 (24:65:11:6e:6c:b5), Dst: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
    Destination: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 107.20.203.175 (107.20.203.175), Dst: 192.168.178.25 (192.168.178.25)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 56
    Identification: 0x6e9c (28316)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 36
    Protocol: TCP (6)
    Header checksum: 0x3e9e [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 107.20.203.175 (107.20.203.175)
    Destination: 192.168.178.25 (192.168.178.25)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: ibm-mqisdp (1883), Dst Port: 49877 (49877), Seq: 1, Ack: 31, Len: 4
    Source port: ibm-mqisdp (1883)
    Destination port: 49877 (49877)
    [Stream index: 8]
    Sequence number: 1    (relative sequence number)
    [Next sequence number: 5    (relative sequence number)]
    Acknowledgment number: 31    (relative ack number)
    Header length: 32 bytes
    Flags: 0x018 (PSH, ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 1... = Push: Set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size value: 57
    [Calculated window size: 14592]
    [Window size scaling factor: 256]
    Checksum: 0xace2 [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 518111374, TSecr 601755551
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 518111374
            Timestamp echo reply: 601755551
    [SEQ/ACK analysis]
        [Bytes in flight: 4]
MQ Telemetry Transport, Message Type: CONNACK, QoS: 0
    Fixed Header
        0010 .... = Message Type: 0x02
        .... 0... = DUP Flag: 0
        .... .00. = QoS Level: 0
        .... ...0 = Retain: 0
        Remain Length: 2
    Payload
        Payload Data: 0000

0000  7c c3 a1 b5 bb d9 24 65 11 6e 6c b5 08 00 45 00   |.....$e.nl...E.
0010  00 38 6e 9c 40 00 24 06 3e 9e 6b 14 cb af c0 a8   .8n.@.$.>.k.....
0020  b2 19 07 5b c2 d5 91 f7 ae 11 6b ce 77 18 80 18   ...[......k.w...
0030  00 39 ac e2 00 00 01 01 08 0a 1e e1 c0 8e 23 de   .9............#.
0040  0f 9f 20 02 00 00                                 .. ...

No.     Time           Source                Destination           Protocol Length Info
    103 6.901848000    192.168.178.25        107.20.203.175        TCP      66     49877 > ibm-mqisdp [ACK] Seq=31 Ack=5 Win=131760 Len=0 TSval=601755725 TSecr=518111374

Frame 103: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.192327000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.192327000 seconds
    [Time delta from previous captured frame: 0.000055000 seconds]
    [Time delta from previous displayed frame: 0.000055000 seconds]
    [Time since reference or first frame: 6.901848000 seconds]
    Frame Number: 103
    Frame Length: 66 bytes (528 bits)
    Capture Length: 66 bytes (528 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: TCP]
    [Coloring Rule String: tcp]
Ethernet II, Src: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9), Dst: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
    Destination: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 192.168.178.25 (192.168.178.25), Dst: 107.20.203.175 (107.20.203.175)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 52
    Identification: 0x3946 (14662)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (6)
    Header checksum: 0x57f8 [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 192.168.178.25 (192.168.178.25)
    Destination: 107.20.203.175 (107.20.203.175)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: 49877 (49877), Dst Port: ibm-mqisdp (1883), Seq: 31, Ack: 5, Len: 0
    Source port: 49877 (49877)
    Destination port: ibm-mqisdp (1883)
    [Stream index: 8]
    Sequence number: 31    (relative sequence number)
    Acknowledgment number: 5    (relative ack number)
    Header length: 32 bytes
    Flags: 0x010 (ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size value: 8235
    [Calculated window size: 131760]
    [Window size scaling factor: 16]
    Checksum: 0xac4c [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 601755725, TSecr 518111374
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 601755725
            Timestamp echo reply: 518111374
    [SEQ/ACK analysis]
        [This is an ACK to the segment in frame: 102]
        [The RTT to ACK the segment was: 0.000055000 seconds]

0000  24 65 11 6e 6c b5 7c c3 a1 b5 bb d9 08 00 45 00   $e.nl.|.......E.
0010  00 34 39 46 40 00 40 06 57 f8 c0 a8 b2 19 6b 14   .49F@[email protected].
0020  cb af c2 d5 07 5b 6b ce 77 18 91 f7 ae 15 80 10   .....[k.w.......
0030  20 2b ac 4c 00 00 01 01 08 0a 23 de 10 4d 1e e1    +.L......#..M..
0040  c0 8e                                             ..

No.     Time           Source                Destination           Protocol Length Info
    122 7.124032000    192.168.178.25        107.20.203.175        MQTT     68     DISCONNECT

Frame 122: 68 bytes on wire (544 bits), 68 bytes captured (544 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.414511000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.414511000 seconds
    [Time delta from previous captured frame: 0.003836000 seconds]
    [Time delta from previous displayed frame: 0.222184000 seconds]
    [Time since reference or first frame: 7.124032000 seconds]
    Frame Number: 122
    Frame Length: 68 bytes (544 bits)
    Capture Length: 68 bytes (544 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp:mqtt]
    [Coloring Rule Name: TCP]
    [Coloring Rule String: tcp]
Ethernet II, Src: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9), Dst: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
    Destination: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 192.168.178.25 (192.168.178.25), Dst: 107.20.203.175 (107.20.203.175)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 54
    Identification: 0xf622 (63010)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (6)
    Header checksum: 0x9b19 [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 192.168.178.25 (192.168.178.25)
    Destination: 107.20.203.175 (107.20.203.175)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: 49877 (49877), Dst Port: ibm-mqisdp (1883), Seq: 31, Ack: 5, Len: 2
    Source port: 49877 (49877)
    Destination port: ibm-mqisdp (1883)
    [Stream index: 8]
    Sequence number: 31    (relative sequence number)
    [Next sequence number: 33    (relative sequence number)]
    Acknowledgment number: 5    (relative ack number)
    Header length: 32 bytes
    Flags: 0x018 (PSH, ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 1... = Push: Set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size value: 8235
    [Calculated window size: 131760]
    [Window size scaling factor: 16]
    Checksum: 0xcb69 [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 601755941, TSecr 518111374
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 601755941
            Timestamp echo reply: 518111374
    [SEQ/ACK analysis]
        [Bytes in flight: 2]
MQ Telemetry Transport, Message Type: DISCONNECT, QoS: 0
    Fixed Header
        1110 .... = Message Type: 0x0e
        .... 0... = DUP Flag: 0
        .... .00. = QoS Level: 0
        .... ...0 = Retain: 0
        Remain Length: 0

0000  24 65 11 6e 6c b5 7c c3 a1 b5 bb d9 08 00 45 00   $e.nl.|.......E.
0010  00 36 f6 22 40 00 40 06 9b 19 c0 a8 b2 19 6b 14   .6."@[email protected].
0020  cb af c2 d5 07 5b 6b ce 77 18 91 f7 ae 15 80 18   .....[k.w.......
0030  20 2b cb 69 00 00 01 01 08 0a 23 de 11 25 1e e1    +.i......#..%..
0040  c0 8e e0 00                                       ....

No.     Time           Source                Destination           Protocol Length Info
    124 7.126545000    192.168.178.25        107.20.203.175        TCP      66     49877 > ibm-mqisdp [FIN, ACK] Seq=33 Ack=5 Win=131760 Len=0 TSval=601755944 TSecr=518111374

Frame 124: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.417024000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.417024000 seconds
    [Time delta from previous captured frame: 0.000992000 seconds]
    [Time delta from previous displayed frame: 0.002513000 seconds]
    [Time since reference or first frame: 7.126545000 seconds]
    Frame Number: 124
    Frame Length: 66 bytes (528 bits)
    Capture Length: 66 bytes (528 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: TCP SYN/FIN]
    [Coloring Rule String: tcp.flags & 0x02 || tcp.flags.fin == 1]
Ethernet II, Src: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9), Dst: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
    Destination: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 192.168.178.25 (192.168.178.25), Dst: 107.20.203.175 (107.20.203.175)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 52
    Identification: 0xb6bb (46779)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (6)
    Header checksum: 0xda82 [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 192.168.178.25 (192.168.178.25)
    Destination: 107.20.203.175 (107.20.203.175)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: 49877 (49877), Dst Port: ibm-mqisdp (1883), Seq: 33, Ack: 5, Len: 0
    Source port: 49877 (49877)
    Destination port: ibm-mqisdp (1883)
    [Stream index: 8]
    Sequence number: 33    (relative sequence number)
    Acknowledgment number: 5    (relative ack number)
    Header length: 32 bytes
    Flags: 0x011 (FIN, ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...1 = Fin: Set
            [Expert Info (Chat/Sequence): Connection finish (FIN)]
                [Message: Connection finish (FIN)]
                [Severity level: Chat]
                [Group: Sequence]
    Window size value: 8235
    [Calculated window size: 131760]
    [Window size scaling factor: 16]
    Checksum: 0xab6e [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 601755944, TSecr 518111374
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 601755944
            Timestamp echo reply: 518111374

0000  24 65 11 6e 6c b5 7c c3 a1 b5 bb d9 08 00 45 00   $e.nl.|.......E.
0010  00 34 b6 bb 40 00 40 06 da 82 c0 a8 b2 19 6b 14   .4..@[email protected].
0020  cb af c2 d5 07 5b 6b ce 77 1a 91 f7 ae 15 80 11   .....[k.w.......
0030  20 2b ab 6e 00 00 01 01 08 0a 23 de 11 28 1e e1    +.n......#..(..
0040  c0 8e                                             ..

No.     Time           Source                Destination           Protocol Length Info
    130 7.296167000    107.20.203.175        192.168.178.25        TCP      78     [TCP Dup ACK 102#1] ibm-mqisdp > 49877 [ACK] Seq=5 Ack=31 Win=14592 Len=0 TSval=518111472 TSecr=601755725 SLE=33 SRE=34

Frame 130: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.586646000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.586646000 seconds
    [Time delta from previous captured frame: 0.001544000 seconds]
    [Time delta from previous displayed frame: 0.169622000 seconds]
    [Time since reference or first frame: 7.296167000 seconds]
    Frame Number: 130
    Frame Length: 78 bytes (624 bits)
    Capture Length: 78 bytes (624 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: Bad TCP]
    [Coloring Rule String: tcp.analysis.flags && !tcp.analysis.window_update]
Ethernet II, Src: Avm_6e:6c:b5 (24:65:11:6e:6c:b5), Dst: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
    Destination: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 107.20.203.175 (107.20.203.175), Dst: 192.168.178.25 (192.168.178.25)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 64
    Identification: 0x6e9d (28317)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 36
    Protocol: TCP (6)
    Header checksum: 0x3e95 [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 107.20.203.175 (107.20.203.175)
    Destination: 192.168.178.25 (192.168.178.25)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: ibm-mqisdp (1883), Dst Port: 49877 (49877), Seq: 5, Ack: 31, Len: 0
    Source port: ibm-mqisdp (1883)
    Destination port: 49877 (49877)
    [Stream index: 8]
    Sequence number: 5    (relative sequence number)
    Acknowledgment number: 31    (relative ack number)
    Header length: 44 bytes
    Flags: 0x010 (ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size value: 57
    [Calculated window size: 14592]
    [Window size scaling factor: 256]
    Checksum: 0xcff2 [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (24 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps, No-Operation (NOP), No-Operation (NOP), SACK
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 518111472, TSecr 601755725
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 518111472
            Timestamp echo reply: 601755725
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        SACK: 33-34
            left edge = 33 (relative)
            right edge = 34 (relative)
            [TCP SACK Count: 1]
    [SEQ/ACK analysis]
        [TCP Analysis Flags]
            [This is a TCP duplicate ack]
        [Duplicate ACK #: 1]
        [Duplicate to the ACK in frame: 102]
            [Expert Info (Note/Sequence): Duplicate ACK (#1)]
                [Message: Duplicate ACK (#1)]
                [Severity level: Note]
                [Group: Sequence]

0000  7c c3 a1 b5 bb d9 24 65 11 6e 6c b5 08 00 45 00   |.....$e.nl...E.
0010  00 40 6e 9d 40 00 24 06 3e 95 6b 14 cb af c0 a8   .@n.@.$.>.k.....
0020  b2 19 07 5b c2 d5 91 f7 ae 15 6b ce 77 18 b0 10   ...[......k.w...
0030  00 39 cf f2 00 00 01 01 08 0a 1e e1 c0 f0 23 de   .9............#.
0040  10 4d 01 01 05 0a 6b ce 77 1a 6b ce 77 1b         .M....k.w.k.w.

No.     Time           Source                Destination           Protocol Length Info
    131 7.296182000    107.20.203.175        192.168.178.25        TCP      66     ibm-mqisdp > 49877 [ACK] Seq=5 Ack=34 Win=14592 Len=0 TSval=518111472 TSecr=601755941

Frame 131: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.586661000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.586661000 seconds
    [Time delta from previous captured frame: 0.000015000 seconds]
    [Time delta from previous displayed frame: 0.000015000 seconds]
    [Time since reference or first frame: 7.296182000 seconds]
    Frame Number: 131
    Frame Length: 66 bytes (528 bits)
    Capture Length: 66 bytes (528 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: TCP]
    [Coloring Rule String: tcp]
Ethernet II, Src: Avm_6e:6c:b5 (24:65:11:6e:6c:b5), Dst: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
    Destination: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 107.20.203.175 (107.20.203.175), Dst: 192.168.178.25 (192.168.178.25)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 52
    Identification: 0x6e9e (28318)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 36
    Protocol: TCP (6)
    Header checksum: 0x3ea0 [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 107.20.203.175 (107.20.203.175)
    Destination: 192.168.178.25 (192.168.178.25)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: ibm-mqisdp (1883), Dst Port: 49877 (49877), Seq: 5, Ack: 34, Len: 0
    Source port: ibm-mqisdp (1883)
    Destination port: 49877 (49877)
    [Stream index: 8]
    Sequence number: 5    (relative sequence number)
    Acknowledgment number: 34    (relative ack number)
    Header length: 32 bytes
    Flags: 0x010 (ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size value: 57
    [Calculated window size: 14592]
    [Window size scaling factor: 256]
    Checksum: 0xcb01 [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 518111472, TSecr 601755941
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 518111472
            Timestamp echo reply: 601755941
    [SEQ/ACK analysis]
        [This is an ACK to the segment in frame: 124]
        [The RTT to ACK the segment was: 0.169637000 seconds]

0000  7c c3 a1 b5 bb d9 24 65 11 6e 6c b5 08 00 45 00   |.....$e.nl...E.
0010  00 34 6e 9e 40 00 24 06 3e a0 6b 14 cb af c0 a8   .4n.@.$.>.k.....
0020  b2 19 07 5b c2 d5 91 f7 ae 15 6b ce 77 1b 80 10   ...[......k.w...
0030  00 39 cb 01 00 00 01 01 08 0a 1e e1 c0 f0 23 de   .9............#.
0040  11 25                                             .%

No.     Time           Source                Destination           Protocol Length Info
    132 7.296218000    192.168.178.25        107.20.203.175        MQTT     68     [TCP Retransmission] DISCONNECT

Frame 132: 68 bytes on wire (544 bits), 68 bytes captured (544 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.586697000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.586697000 seconds
    [Time delta from previous captured frame: 0.000036000 seconds]
    [Time delta from previous displayed frame: 0.000036000 seconds]
    [Time since reference or first frame: 7.296218000 seconds]
    Frame Number: 132
    Frame Length: 68 bytes (544 bits)
    Capture Length: 68 bytes (544 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp:mqtt]
    [Coloring Rule Name: Bad TCP]
    [Coloring Rule String: tcp.analysis.flags && !tcp.analysis.window_update]
Ethernet II, Src: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9), Dst: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
    Destination: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 192.168.178.25 (192.168.178.25), Dst: 107.20.203.175 (107.20.203.175)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 54
    Identification: 0xe123 (57635)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (6)
    Header checksum: 0xb018 [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 192.168.178.25 (192.168.178.25)
    Destination: 107.20.203.175 (107.20.203.175)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: 49877 (49877), Dst Port: ibm-mqisdp (1883), Seq: 31, Ack: 5, Len: 2
    Source port: 49877 (49877)
    Destination port: ibm-mqisdp (1883)
    [Stream index: 8]
    Sequence number: 31    (relative sequence number)
    [Next sequence number: 33    (relative sequence number)]
    Acknowledgment number: 5    (relative ack number)
    Header length: 32 bytes
    Flags: 0x019 (FIN, PSH, ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 1... = Push: Set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...1 = Fin: Set
            [Expert Info (Chat/Sequence): Connection finish (FIN)]
                [Message: Connection finish (FIN)]
                [Severity level: Chat]
                [Group: Sequence]
    Window size value: 8235
    [Calculated window size: 131760]
    [Window size scaling factor: 16]
    Checksum: 0xca5b [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 601756112, TSecr 518111472
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 601756112
            Timestamp echo reply: 518111472
    [SEQ/ACK analysis]
        [Bytes in flight: 3]
        [TCP Analysis Flags]
            [This frame is a (suspected) retransmission]
                [Expert Info (Note/Sequence): Retransmission (suspected)]
                    [Message: Retransmission (suspected)]
                    [Severity level: Note]
                    [Group: Sequence]
            [The RTO for this segment was: 0.169673000 seconds]
            [RTO based on delta from frame: 124]
MQ Telemetry Transport, Message Type: DISCONNECT, QoS: 0
    Fixed Header
        1110 .... = Message Type: 0x0e
        .... 0... = DUP Flag: 0
        .... .00. = QoS Level: 0
        .... ...0 = Retain: 0
        Remain Length: 0

0000  24 65 11 6e 6c b5 7c c3 a1 b5 bb d9 08 00 45 00   $e.nl.|.......E.
0010  00 36 e1 23 40 00 40 06 b0 18 c0 a8 b2 19 6b 14   .6.#@[email protected].
0020  cb af c2 d5 07 5b 6b ce 77 18 91 f7 ae 15 80 19   .....[k.w.......
0030  20 2b ca 5b 00 00 01 01 08 0a 23 de 11 d0 1e e1    +.[......#.....
0040  c0 f0 e0 00                                       ....

No.     Time           Source                Destination           Protocol Length Info
    133 7.296237000    192.168.178.25        107.20.203.175        TCP      66     [TCP Dup ACK 132#1] 49877 > ibm-mqisdp [ACK] Seq=34 Ack=5 Win=131760 Len=0 TSval=601756112 TSecr=518111472

Frame 133: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.586716000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.586716000 seconds
    [Time delta from previous captured frame: 0.000019000 seconds]
    [Time delta from previous displayed frame: 0.000019000 seconds]
    [Time since reference or first frame: 7.296237000 seconds]
    Frame Number: 133
    Frame Length: 66 bytes (528 bits)
    Capture Length: 66 bytes (528 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: Bad TCP]
    [Coloring Rule String: tcp.analysis.flags && !tcp.analysis.window_update]
Ethernet II, Src: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9), Dst: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
    Destination: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 192.168.178.25 (192.168.178.25), Dst: 107.20.203.175 (107.20.203.175)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 52
    Identification: 0xb239 (45625)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (6)
    Header checksum: 0xdf04 [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 192.168.178.25 (192.168.178.25)
    Destination: 107.20.203.175 (107.20.203.175)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: 49877 (49877), Dst Port: ibm-mqisdp (1883), Seq: 34, Ack: 5, Len: 0
    Source port: 49877 (49877)
    Destination port: ibm-mqisdp (1883)
    [Stream index: 8]
    Sequence number: 34    (relative sequence number)
    Acknowledgment number: 5    (relative ack number)
    Header length: 32 bytes
    Flags: 0x010 (ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size value: 8235
    [Calculated window size: 131760]
    [Window size scaling factor: 16]
    Checksum: 0xaa64 [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 601756112, TSecr 518111472
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 601756112
            Timestamp echo reply: 518111472
    [SEQ/ACK analysis]
        [TCP Analysis Flags]
            [This is a TCP duplicate ack]
        [Duplicate ACK #: 1]
        [Duplicate to the ACK in frame: 132]
            [Expert Info (Note/Sequence): Duplicate ACK (#1)]
                [Message: Duplicate ACK (#1)]
                [Severity level: Note]
                [Group: Sequence]

0000  24 65 11 6e 6c b5 7c c3 a1 b5 bb d9 08 00 45 00   $e.nl.|.......E.
0010  00 34 b2 39 40 00 40 06 df 04 c0 a8 b2 19 6b 14   .4.9@[email protected].
0020  cb af c2 d5 07 5b 6b ce 77 1b 91 f7 ae 15 80 10   .....[k.w.......
0030  20 2b aa 64 00 00 01 01 08 0a 23 de 11 d0 1e e1    +.d......#.....
0040  c0 f0                                             ..

No.     Time           Source                Destination           Protocol Length Info
    135 7.296908000    107.20.203.175        192.168.178.25        TCP      66     ibm-mqisdp > 49877 [FIN, ACK] Seq=5 Ack=34 Win=14592 Len=0 TSval=518111473 TSecr=601755941

Frame 135: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.587387000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.587387000 seconds
    [Time delta from previous captured frame: 0.000260000 seconds]
    [Time delta from previous displayed frame: 0.000671000 seconds]
    [Time since reference or first frame: 7.296908000 seconds]
    Frame Number: 135
    Frame Length: 66 bytes (528 bits)
    Capture Length: 66 bytes (528 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: TCP SYN/FIN]
    [Coloring Rule String: tcp.flags & 0x02 || tcp.flags.fin == 1]
Ethernet II, Src: Avm_6e:6c:b5 (24:65:11:6e:6c:b5), Dst: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
    Destination: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 107.20.203.175 (107.20.203.175), Dst: 192.168.178.25 (192.168.178.25)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 52
    Identification: 0x6e9f (28319)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 36
    Protocol: TCP (6)
    Header checksum: 0x3e9f [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 107.20.203.175 (107.20.203.175)
    Destination: 192.168.178.25 (192.168.178.25)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: ibm-mqisdp (1883), Dst Port: 49877 (49877), Seq: 5, Ack: 34, Len: 0
    Source port: ibm-mqisdp (1883)
    Destination port: 49877 (49877)
    [Stream index: 8]
    Sequence number: 5    (relative sequence number)
    Acknowledgment number: 34    (relative ack number)
    Header length: 32 bytes
    Flags: 0x011 (FIN, ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...1 = Fin: Set
            [Expert Info (Chat/Sequence): Connection finish (FIN)]
                [Message: Connection finish (FIN)]
                [Severity level: Chat]
                [Group: Sequence]
    Window size value: 57
    [Calculated window size: 14592]
    [Window size scaling factor: 256]
    Checksum: 0xcaff [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 518111473, TSecr 601755941
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 518111473
            Timestamp echo reply: 601755941
    [SEQ/ACK analysis]
        [This is an ACK to the segment in frame: 132]
        [The RTT to ACK the segment was: 0.000690000 seconds]

0000  7c c3 a1 b5 bb d9 24 65 11 6e 6c b5 08 00 45 00   |.....$e.nl...E.
0010  00 34 6e 9f 40 00 24 06 3e 9f 6b 14 cb af c0 a8   .4n.@.$.>.k.....
0020  b2 19 07 5b c2 d5 91 f7 ae 15 6b ce 77 1b 80 11   ...[......k.w...
0030  00 39 ca ff 00 00 01 01 08 0a 1e e1 c0 f1 23 de   .9............#.
0040  11 25                                             .%

No.     Time           Source                Destination           Protocol Length Info
    136 7.296941000    192.168.178.25        107.20.203.175        TCP      66     49877 > ibm-mqisdp [ACK] Seq=34 Ack=6 Win=131760 Len=0 TSval=601756112 TSecr=518111473

Frame 136: 66 bytes on wire (528 bits), 66 bytes captured (528 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.587420000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.587420000 seconds
    [Time delta from previous captured frame: 0.000033000 seconds]
    [Time delta from previous displayed frame: 0.000033000 seconds]
    [Time since reference or first frame: 7.296941000 seconds]
    Frame Number: 136
    Frame Length: 66 bytes (528 bits)
    Capture Length: 66 bytes (528 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: TCP]
    [Coloring Rule String: tcp]
Ethernet II, Src: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9), Dst: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
    Destination: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 192.168.178.25 (192.168.178.25), Dst: 107.20.203.175 (107.20.203.175)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 52
    Identification: 0x355a (13658)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 64
    Protocol: TCP (6)
    Header checksum: 0x5be4 [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 192.168.178.25 (192.168.178.25)
    Destination: 107.20.203.175 (107.20.203.175)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: 49877 (49877), Dst Port: ibm-mqisdp (1883), Seq: 34, Ack: 6, Len: 0
    Source port: 49877 (49877)
    Destination port: ibm-mqisdp (1883)
    [Stream index: 8]
    Sequence number: 34    (relative sequence number)
    Acknowledgment number: 6    (relative ack number)
    Header length: 32 bytes
    Flags: 0x010 (ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size value: 8235
    [Calculated window size: 131760]
    [Window size scaling factor: 16]
    Checksum: 0xaa62 [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (12 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 601756112, TSecr 518111473
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 601756112
            Timestamp echo reply: 518111473
    [SEQ/ACK analysis]
        [This is an ACK to the segment in frame: 135]
        [The RTT to ACK the segment was: 0.000033000 seconds]

0000  24 65 11 6e 6c b5 7c c3 a1 b5 bb d9 08 00 45 00   $e.nl.|.......E.
0010  00 34 35 5a 40 00 40 06 5b e4 c0 a8 b2 19 6b 14   .45Z@.@.[.....k.
0020  cb af c2 d5 07 5b 6b ce 77 1b 91 f7 ae 16 80 10   .....[k.w.......
0030  20 2b aa 62 00 00 01 01 08 0a 23 de 11 d0 1e e1    +.b......#.....
0040  c0 f1                                             ..

No.     Time           Source                Destination           Protocol Length Info
    137 7.464318000    107.20.203.175        192.168.178.25        TCP      78     [TCP Dup ACK 135#1] ibm-mqisdp > 49877 [ACK] Seq=6 Ack=34 Win=14592 Len=0 TSval=518111515 TSecr=601756112 SLE=31 SRE=34

Frame 137: 78 bytes on wire (624 bits), 78 bytes captured (624 bits) on interface 0
    Interface id: 0
    Encapsulation type: Ethernet (1)
    Arrival Time: Jun 29, 2014 14:07:43.754797000 CEST
    [Time shift for this packet: 0.000000000 seconds]
    Epoch Time: 1404043663.754797000 seconds
    [Time delta from previous captured frame: 0.167377000 seconds]
    [Time delta from previous displayed frame: 0.167377000 seconds]
    [Time since reference or first frame: 7.464318000 seconds]
    Frame Number: 137
    Frame Length: 78 bytes (624 bits)
    Capture Length: 78 bytes (624 bits)
    [Frame is marked: False]
    [Frame is ignored: False]
    [Protocols in frame: eth:ip:tcp]
    [Coloring Rule Name: Bad TCP]
    [Coloring Rule String: tcp.analysis.flags && !tcp.analysis.window_update]
Ethernet II, Src: Avm_6e:6c:b5 (24:65:11:6e:6c:b5), Dst: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
    Destination: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        Address: Apple_b5:bb:d9 (7c:c3:a1:b5:bb:d9)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Source: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        Address: Avm_6e:6c:b5 (24:65:11:6e:6c:b5)
        .... ..0. .... .... .... .... = LG bit: Globally unique address (factory default)
        .... ...0 .... .... .... .... = IG bit: Individual address (unicast)
    Type: IP (0x0800)
Internet Protocol Version 4, Src: 107.20.203.175 (107.20.203.175), Dst: 192.168.178.25 (192.168.178.25)
    Version: 4
    Header length: 20 bytes
    Differentiated Services Field: 0x00 (DSCP 0x00: Default; ECN: 0x00: Not-ECT (Not ECN-Capable Transport))
        0000 00.. = Differentiated Services Codepoint: Default (0x00)
        .... ..00 = Explicit Congestion Notification: Not-ECT (Not ECN-Capable Transport) (0x00)
    Total Length: 64
    Identification: 0x6ea0 (28320)
    Flags: 0x02 (Don't Fragment)
        0... .... = Reserved bit: Not set
        .1.. .... = Don't fragment: Set
        ..0. .... = More fragments: Not set
    Fragment offset: 0
    Time to live: 36
    Protocol: TCP (6)
    Header checksum: 0x3e92 [validation disabled]
        [Good: False]
        [Bad: False]
    Source: 107.20.203.175 (107.20.203.175)
    Destination: 192.168.178.25 (192.168.178.25)
    [Source GeoIP: Unknown]
    [Destination GeoIP: Unknown]
Transmission Control Protocol, Src Port: ibm-mqisdp (1883), Dst Port: 49877 (49877), Seq: 6, Ack: 34, Len: 0
    Source port: ibm-mqisdp (1883)
    Destination port: 49877 (49877)
    [Stream index: 8]
    Sequence number: 6    (relative sequence number)
    Acknowledgment number: 34    (relative ack number)
    Header length: 44 bytes
    Flags: 0x010 (ACK)
        000. .... .... = Reserved: Not set
        ...0 .... .... = Nonce: Not set
        .... 0... .... = Congestion Window Reduced (CWR): Not set
        .... .0.. .... = ECN-Echo: Not set
        .... ..0. .... = Urgent: Not set
        .... ...1 .... = Acknowledgment: Set
        .... .... 0... = Push: Not set
        .... .... .0.. = Reset: Not set
        .... .... ..0. = Syn: Not set
        .... .... ...0 = Fin: Not set
    Window size value: 57
    [Calculated window size: 14592]
    [Window size scaling factor: 256]
    Checksum: 0xce42 [validation disabled]
        [Good Checksum: False]
        [Bad Checksum: False]
    Options: (24 bytes), No-Operation (NOP), No-Operation (NOP), Timestamps, No-Operation (NOP), No-Operation (NOP), SACK
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        Timestamps: TSval 518111515, TSecr 601756112
            Kind: Timestamp (8)
            Length: 10
            Timestamp value: 518111515
            Timestamp echo reply: 601756112
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        No-Operation (NOP)
            Type: 1
                0... .... = Copy on fragmentation: No
                .00. .... = Class: Control (0)
                ...0 0001 = Number: No-Operation (NOP) (1)
        SACK: 31-34
            left edge = 31 (relative)
            right edge = 34 (relative)
            [TCP SACK Count: 1]
    [SEQ/ACK analysis]
        [TCP Analysis Flags]
            [This is a TCP duplicate ack]
        [Duplicate ACK #: 1]
        [Duplicate to the ACK in frame: 135]
            [Expert Info (Note/Sequence): Duplicate ACK (#1)]
                [Message: Duplicate ACK (#1)]
                [Severity level: Note]
                [Group: Sequence]

0000  7c c3 a1 b5 bb d9 24 65 11 6e 6c b5 08 00 45 00   |.....$e.nl...E.
0010  00 40 6e a0 40 00 24 06 3e 92 6b 14 cb af c0 a8   .@n.@.$.>.k.....
0020  b2 19 07 5b c2 d5 91 f7 ae 16 6b ce 77 1b b0 10   ...[......k.w...
0030  00 39 ce 42 00 00 01 01 08 0a 1e e1 c1 1b 23 de   .9.B..........#.
0040  11 d0 01 01 05 0a 6b ce 77 18 6b ce 77 1b         ......k.w.k.w.

Providing CA file for ssl communication

I can't seem to find any way to provide a cafile parameter for a session. Without that, how is it possible to connect to a broker securely ? Or am I missing something ?

MQTT Client swallows the very first incomming message

I've noticed that when I install my mqtt app on the device, only the first message is not being caught in my newMessage delegate.

After digging into your code I found that the gaurd
if (msgId != 0) {
at https://github.com/ckrey/MQTT-Client-Framework/blob/master/MQTTClient/MQTTClient/MQTTSession.m#L1211 is false since msgId gets 0!

Can you explain this or guess what could cause this kind of issue @ckrey ?

After the second message, all messages are passing inside and everything works.
I've tried the latest client from your repo, and my broker is Mosca 0.31.1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.