Gearman

Gearman

Gearman provides a generic application framework to farm out work to other machines or processes that are better suited to do the work. It allows you to do work in parallel, to load balance processing, and to call functions between languages. It can be used in a variety of applications, from high-availability web sites to the transport of database replication events. In other words, it is the nervous system for how distributed processing communicates.

History

The first implementation of Gearman came from the folks at Danga Interactive (LiveJournal/SixApart). The name is an anagram for “Manager,” since it dispatches jobs to be done, but does not do anything useful itself. This wiki was setup to provide a single place to organize all information related to Gearman. Content is being updated regularly, so please check back often. You may also want to check out other forms of communication if you would like to learn more or get involved!

It previously operated on port 7003, but this conflicted with the AFS port range and the new port (4730) was assigned by IANA. Communication happens between either a client and job server, or between a worker and job server.

Protocol dependencies

Example traffic

[REQ] CAN_DO(1) LEN=2

[REQ] GRAB_JOB(9) LEN=0

[RES] NO_JOB(10) LEN=0

[REQ] PRE_SLEEP(4) LEN=0

[REQ] GRAB_JOB(9) LEN=0

[RES] JOB_ASSIGN(11) LEN=984

[REQ] WORK_COMPLETE(13) LEN=14

Wireshark

The Gearman dissector is partially functional. Also will add info of additional Wireshark features where appropriate later, like special statistics of this protocol.

Example capture file

Display Filter

A complete list of gearman display filter fields can be found in the display filter reference

Show only the gearman based traffic:

 gearman 

Capture Filter

You cannot directly filter gearman protocols while capturing. However, if you know the TCP port used (see above), you can filter on that one.

Capture only the PROTO traffic over the default port (4730):

 tcp port 4730 

External links

Discussion


Imported from https://wiki.wireshark.org/Gearman on 2020-08-11 23:14:15 UTC