Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Creating Wireshark Dissector for CQC Packets #18

Closed
nalinielkins opened this issue Jun 6, 2019 · 9 comments
Closed

Creating Wireshark Dissector for CQC Packets #18

nalinielkins opened this issue Jun 6, 2019 · 9 comments

Comments

@nalinielkins
Copy link

Hello,

I have started to build a WireShark dissector using the breakout according to https://softwarequtech.github.io/SimulaQron/html/CQCInterface.html We will do an LUA or interpretive dissector until we have the breakouts correct.

For example, that the original payload in one of the packets is:

020100000000000c0000070500001f537f000001

If you break it out manually, it becomes:

02 : version:
01 : type : CQC_TP_COMMAND
0000 : Application ID,
0000000c : Total length of the CQC packet (excluding this header) : 12

This all makes sense. But we also get packets starting with 07 and 03 which I am not able to find in the CQCInterface layout above.

Shall I send the entire packet? Can anyone help?

Thanks,
Nalini Elkins

@Wojtek242
Copy link

Hi @nalinielkins

It's great to see you're writing a Wireshark dissector! I was going to make one several months ago as I needed one for my own debugging and then realised I don't know LUA so I wrote something simpler just for myself in Rust. Can you send the entire byte stream from the relevant TCP connection and I'll try to see if I can figure out what's going on.

@nalinielkins
Copy link
Author

nalinielkins commented Jun 11, 2019 via email

@Wojtek242
Copy link

I don't think the attachments you sent via e-mail have made it to the GitHub issue page. Would you be able to upload them directly with the issue?

@AckslD
Copy link
Member

AckslD commented Jun 11, 2019

Hi @nalinielkins!

Sorry for my late reply! It's great to see that you're taking action on this :) I'm also not sure why some start with "07" or "03" and would be also be interested in seeing the entire stream.

@nalinielkins
Copy link
Author

OK. I am attaching the files. Sorry for the late reply. I was travelling.

SimulaQRon.zip

@nalinielkins
Copy link
Author

nalinielkins commented Jun 17, 2019 via email

@AckslD
Copy link
Member

AckslD commented Jun 17, 2019

Hi @nalinielkins!

It seems the payload starting with "03" and "07" are actually not part of the communication between the application and the CQC backend, using the CQC interface but rather part of the internal backend simulation (you can see that the port numbers are different, which are set in the network.json file). Note that there are three ports open for each node in the network as visualised in this figure. So the payloads starting with "03" and "07" are part of twisteds communication between either the CQC server and the SimulaQron server or between the SimulaQron servers.

@nalinielkins
Copy link
Author

nalinielkins commented Jun 17, 2019 via email

@AckslD
Copy link
Member

AckslD commented Jun 18, 2019

@nalinielkins I don't know if a breakout is available for twisted packets, there might be. However, I'm not sure that is very interesting anyway, since that is only used by the simulation backend. In a real implementation of a quantum network the twisted communication wouldn't be there. Maybe an alternative would be to filter out the twisted packets based on the port numbers. What do you think?

@AckslD AckslD closed this as completed Nov 7, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants