Codebase list trinity / af12065
log & decode socket objects Dave Jones 7 years ago
3 changed file(s) with 31 addition(s) and 0 deletion(s). Raw diff Collapse all Expand all
1616 #include "sanitise.h"
1717 #include "shm.h"
1818 #include "trinity.h"
19 #include "udp.h"
1920 #include "uid.h"
2021 #include "utils.h"
2122
407408 static void socket_dump(struct object *obj, __unused__ bool global)
408409 {
409410 struct socketinfo *si = &obj->sockinfo;
411 struct msg_objcreatedsocket objmsg;
410412
411413 output(0, "socket fd:%d domain:%u (%s) type:0x%u protocol:%u\n",
412414 si->fd, si->triplet.family, get_domain_name(si->triplet.family),
413415 si->triplet.type, si->triplet.protocol);
416
417 init_msgobjhdr(&objmsg.hdr, OBJ_CREATED_SOCKET, global, obj);
418 objmsg.si.fd = si->fd;
419 objmsg.si.triplet.family = si->triplet.family;
420 objmsg.si.triplet.type = si->triplet.type;
421 objmsg.si.triplet.protocol = si->triplet.protocol;
422 sendudp((char *) &objmsg, sizeof(objmsg));
414423 }
415424
416425 static int open_sockets(void)
44 #include "exit.h"
55 #include "maps.h"
66 #include "pathnames.h"
7 #include "socketinfo.h"
78 #include "types.h"
89
910 #define TRINITY_LOG_PORT 6665
3435 OBJ_CREATED_USERFAULT,
3536 OBJ_CREATED_FANOTIFY,
3637 OBJ_CREATED_BPFMAP,
38 OBJ_CREATED_SOCKET,
3739
3840 MAX_LOGMSGTYPE,
3941 };
181183 int map_type;
182184 int map_fd;
183185 };
186
187 struct msg_objcreatedsocket {
188 struct trinity_msgobjhdr hdr;
189 struct socketinfo si;
190 };
77 #include <unistd.h>
88 #include "decode.h"
99 #include "exit.h"
10 #include "socketinfo.h"
1011 #include "trinity.h"
1112 #include "types.h"
1213 #include "udp.h"
245246 objmsg->hdr.global ? "local" : "global",
246247 objmsg->hdr.address, objmsg->hdr.pid, objmsg->map_fd,
247248 bpfmaptypes[objmsg->map_type]);
249 }
250
251 static void decode_obj_created_socket(void)
252 {
253 struct msg_objcreatedsocket *objmsg;
254 objmsg = (struct msg_objcreatedsocket *) &buf;
255
256 printf("%s socket object created at %p by pid %d: fd:%d family:%d type:%d protocol:%d\n",
257 objmsg->hdr.global ? "local" : "global",
258 objmsg->hdr.address, objmsg->hdr.pid, objmsg->si.fd,
259 objmsg->si.triplet.family,
260 objmsg->si.triplet.type,
261 objmsg->si.triplet.protocol);
248262 }
249263
250264
268282 [OBJ_CREATED_USERFAULT] = { decode_obj_created_userfault },
269283 [OBJ_CREATED_FANOTIFY] = { decode_obj_created_fanotify },
270284 [OBJ_CREATED_BPFMAP] = { decode_obj_created_bpfmap },
285 [OBJ_CREATED_SOCKET] = { decode_obj_created_socket },
271286 };