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

Add TCPROS layer to contrib #3462

Open
wants to merge 11 commits into
base: master
Choose a base branch
from
Open

Add TCPROS layer to contrib #3462

wants to merge 11 commits into from

Conversation

Copy link
Contributor

@vmayoral vmayoral commented Nov 28, 2021

TCPROS is a transport layer for ROS Messages and Services. It uses standard TCP/IP sockets for transporting message data. Inbound connections are received via a TCP Server Socket with a header containing message data type and routing information. This class focuses on capturing the ROS Slave API.

An example package is presented below:

    B0 00 00 00 26 00 00 00 63 61 6C 6C 65 72 69 64  ....&...callerid
    3D 2F 72 6F 73 74 6F 70 69 63 5F 38 38 33 30 35  =/rostopic_88305
    5F 31 35 39 31 35 33 38 37 38 37 35 30 31 0A 00  _1591538787501..
    00 00 6C 61 74 63 68 69 6E 67 3D 31 27 00 00 00  ..latching=1'...
    6D 64 35 73 75 6D 3D 39 39 32 63 65 38 61 31 36  md5sum=992ce8a16
    38 37 63 65 63 38 63 38 62 64 38 38 33 65 63 37  87cec8c8bd883ec7
    33 63 61 34 31 64 31 1F 00 00 00 6D 65 73 73 61  3ca41d1....messa
    67 65 5F 64 65 66 69 6E 69 74 69 6F 6E 3D 73 74  ge_definition=st
    72 69 6E 67 20 64 61 74 61 0A 0E 00 00 00 74 6F  ring data.....to
    70 69 63 3D 2F 63 68 61 74 74 65 72 14 00 00 00  pic=/chatter....
    74 79 70 65 3D 73 74 64 5F 6D 73 67 73 2F 53 74  type=std_msgs/St
    72 69 6E 67                                      ring

vmayoral added 3 commits Nov 28, 2021
The Robot Operating System (ROS) is a framework for robot
application development which provides modular distributed
software for building a variety of robot applications.

This layer allows to dissect ROS's (ROS 1) TCP-based communication
middleware.

Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
scapy/contrib/tcpros.py Outdated Show resolved Hide resolved
scapy/contrib/tcpros.py Outdated Show resolved Hide resolved
scapy/contrib/tcpros.py Outdated Show resolved Hide resolved
scapy/contrib/tcpros.py Outdated Show resolved Hide resolved
scapy/contrib/tcpros.py Outdated Show resolved Hide resolved
test/contrib/tcpros.uts Outdated Show resolved Hide resolved
vmayoral added 6 commits Dec 21, 2021
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
@vmayoral
Copy link
Contributor Author

@vmayoral vmayoral commented Dec 21, 2021

Thanks for the review @polybassa, I believe I addressed all comments. Let me know if I missed anything.

Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
Signed-off-by: Víctor Mayoral Vilches <v.mayoralv@gmail.com>
@polybassa
Copy link
Contributor

@polybassa polybassa commented Dec 22, 2021

One more remark. Could you please add build and dissect tests for all your packet classes.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

2 participants