intmain(int argc, char **argv) { structlsm_socket_bpf *skel; int err; /* Set up libbpf errors and debug info callback */ libbpf_set_print(libbpf_print_fn); /* Open, load, and verify BPF application */ skel = lsm_socket_bpf__open_and_load(); if (!skel) { fprintf(stderr, "Failed to open and load BPF skeleton\n"); goto cleanup; } /* Attach lsm handler */ err = lsm_socket_bpf__attach(skel); if (err) { fprintf(stderr, "Failed to attach BPF skeleton\n"); goto cleanup; } printf("Successfully started! Please run `sudo cat /sys/kernel/tracing/trace_pipe` " "to see output of the BPF programs.\n");
for (;;) { /* trigger our BPF program */ fprintf(stderr, "."); sleep(1); }
$ make lsm_socket BPF .output/lsm_socket.bpf.o GEN-SKEL .output/lsm_socket.skel.h CC .output/lsm_socket.o BINARY lsm_socket $ sudo ./lsm_socket libbpf: map 'lsm_socket.rodata': created successfully, fd=3 libbpf: map '.rodata.str1.1': created successfully, fd=4 Successfully started! Please run `sudo cat /sys/kernel/tracing/trace_pipe` to see output of the BPF programs. .........
另起一个终端,尝试连接172.18.192.90:
1 2 3 4 5
$ ssh fanrong@172.18.192.90 ssh: connect to host 172.18.192.90 port 22: Operation not permitted $ curl 172.18.192.90:8000 curl: (7) Couldn't connect to server $ nc 172.18.192.90 12345