Repository Analysis

iovisor/bcc

BCC - Tools for BPF-based Linux IO analysis, networking, monitoring, and more

6.6 Low AI signal View on GitHub
6.6
Adjusted Score
6.6
Raw Score
100%
Time Factor
2026-05-21
Last Push
22,434
Stars
C
Language
168,900
Lines of Code
859
Files
893
Pattern Hits
2026-05-31
Scan Date

Score History

Severity Breakdown

CRITICAL 0HIGH 66MEDIUM 27LOW 800

Pattern Findings

893 matches across 14 categories. Click a row to expand file-level details.

Over-Commented Block351 hits · 340 pts
SeverityFileLineSnippet
LOWtools/kvmexit.py1#!/usr/bin/env python
LOWtools/kvmexit.py21#
LOWtools/wakeuptime.py1#!/usr/bin/env python
LOWtools/tcptop.py1#!/usr/bin/env python
LOWtools/tcpretrans.py1#!/usr/bin/env python
LOWtools/solisten.py1#!/usr/bin/env python
LOWtools/runqlen.py1#!/usr/bin/env python
LOWtools/runqlen.py61# struct load_weight load;
LOWtools/cachestat.py1#!/usr/bin/env python
LOWtools/trace.py1#!/usr/bin/env python
LOWtools/funcslower.py1#!/usr/bin/env python
LOWtools/funcslower.py161 u64 ip = PT_REGS_IP(ctx);
LOWtools/vfscount.py1#!/usr/bin/env python
LOWtools/reset-trace.sh1#!/bin/bash
LOWtools/drsnoop.py1#!/usr/bin/env python
LOWtools/bitesize.py1#!/usr/bin/env python
LOWtools/pidpersec.py1#!/usr/bin/env python
LOWtools/funclatency.py1#!/usr/bin/env python
LOWtools/tcpaccept.py1#!/usr/bin/env python
LOWtools/numasched.py1#!/usr/bin/env python
LOWtools/sofdsnoop.py1#!/usr/bin/env python
LOWtools/bpflist.py1#!/usr/bin/env python
LOWtools/deadlock.py1#!/usr/bin/env python
LOWtools/deadlock.py21#
LOWtools/swapin.py1#!/usr/bin/env python
LOWtools/mptcpify.py1#!/usr/bin/env python
LOWtools/cpudist.py1#!/usr/bin/env python
LOWtools/biotop.py1#!/usr/bin/env python
LOWtools/dcstat.py1#!/usr/bin/env python
LOWtools/tcptracer.py1#!/usr/bin/env python
LOWtools/tcptracer.py41 help="trace IPv6 family only")
LOWtools/biosnoop.py1#!/usr/bin/env python
LOWtools/threadsnoop.py1#!/usr/bin/env python
LOWtools/virtiostat.py1#!/usr/bin/env python
LOWtools/rdmaucma.py1#!/usr/bin/python
LOWtools/mysqld_qslower.py1#!/usr/bin/env python
LOWtools/vfsstat.py1#!/usr/bin/env python
LOWtools/ext4slower.py1#!/usr/bin/env python
LOWtools/profile.py1#!/usr/bin/env python
LOWtools/profile.py201 u64 ip = PT_REGS_IP(&ctx->regs);
LOWtools/offwaketime.py1#!/usr/bin/env python
LOWtools/ttysnoop.py1#!/usr/bin/env python
LOWtools/biolatency.py1#!/usr/bin/env python
LOWtools/criticalstat.py1#!/usr/bin/env python
LOWtools/softirqslower.py1#!/usr/bin/env python
LOWtools/mdflush.py1#!/usr/bin/env python
LOWtools/wqlat.py1#!/usr/bin/env python
LOWtools/f2fsslower.py1#!/usr/bin/python
LOWtools/tcpconnect.py1#!/usr/bin/env python
LOWtools/zfsdist.py1#!/usr/bin/env python
LOWtools/tcpstates.py1#!/usr/bin/env python
LOWtools/capable.py1#!/usr/bin/env python
LOWtools/tcpcong.py1#!/usr/bin/env python
LOWtools/oomkill.py1#!/usr/bin/env python
LOWtools/statsnoop.py1#!/usr/bin/env python
LOWtools/runqslower.py1#!/usr/bin/env python
LOWtools/runqslower.py21# finish_task_switch() with either raw tracepoints (if supported) or kprobes
LOWtools/shmsnoop.py1#!/usr/bin/env python
LOWtools/softirqs.py1#!/usr/bin/env python
LOWtools/filetop.py1#!/usr/bin/env python
291 more matches not shown…
Unused Imports329 hits · 329 pts
SeverityFileLineSnippet
LOWtools/kvmexit.py31
LOWtools/kvmexit.py37
LOWtools/wakeuptime.py15
LOWtools/tcptop.py28
LOWtools/tcpretrans.py18
LOWtools/solisten.py20
LOWtools/runqlen.py22
LOWtools/cachestat.py22
LOWtools/cachestat.py27
LOWtools/cachestat.py28
LOWtools/trace.py14
LOWtools/trace.py21
LOWtools/funcslower.py24
LOWtools/klockstat.py8
LOWtools/klockstat.py9
LOWtools/klockstat.py11
LOWtools/klockstat.py13
LOWtools/klockstat.py14
LOWtools/klockstat.py14
LOWtools/vfscount.py14
LOWtools/drsnoop.py17
LOWtools/funclatency.py26
LOWtools/tcpaccept.py18
LOWtools/numasched.py17
LOWtools/numasched.py21
LOWtools/numasched.py21
LOWtools/numasched.py21
LOWtools/numasched.py22
LOWtools/numasched.py23
LOWtools/sofdsnoop.py15
LOWtools/bpflist.py15
LOWtools/bpflist.py15
LOWtools/bpflist.py19
LOWtools/deadlock.py47
LOWtools/deadlock.py47
LOWtools/deadlock.py47
LOWtools/deadlock.py47
LOWtools/swapin.py18
LOWtools/mptcpify.py17
LOWtools/biopattern.py12
LOWtools/cpudist.py19
LOWtools/biotop.py19
LOWtools/dcstat.py18
LOWtools/nfsdist.py11
LOWtools/tcptracer.py17
LOWtools/biosnoop.py19
LOWtools/threadsnoop.py15
LOWtools/virtiostat.py14
LOWtools/rdmaucma.py14
LOWtools/rdmaucma.py19
LOWtools/mysqld_qslower.py18
LOWtools/vfsstat.py18
LOWtools/vfsstat.py22
LOWtools/ext4slower.py28
LOWtools/profile.py31
LOWtools/offwaketime.py15
LOWtools/ttysnoop.py19
LOWtools/biolatency.py16
LOWtools/biolatency.py20
LOWtools/criticalstat.py15
269 more matches not shown…
Cross-Language Confusion50 hits · 230 pts
SeverityFileLineSnippet
HIGHtools/mptcpify.py65 if ((family == AF_INET || family == AF_INET6) &&
HIGHtools/mptcpify.py67 (!protocol || protocol == IPPROTO_TCP) &&
HIGHtools/mptcpify.py68 (mode && *mode == 0 || support_apps.lookup(&target)))
HIGHtools/cpudist.py199 if (ns_pid_val && ns_tgid_val) {
HIGHtools/tcptracer.py140 if (saddr == 0 || daddr == 0 || sport == 0 || dport == 0) {
HIGHtools/tcptracer.py171 if (saddr == 0 || daddr == 0 || sport == 0 || dport == 0) {
HIGHtools/tcptracer.py293 if (state != TCP_ESTABLISHED && state != TCP_CLOSE) {
HIGHtools/tcptracer.py499 if (evt4.saddr != 0 && evt4.daddr != 0 &&
HIGHtools/tcptracer.py500 evt4.sport != 0 && evt4.dport != 0) {
HIGHtools/tcptracer.py524 if (evt6.saddr != 0 && evt6.daddr != 0 &&
HIGHtools/tcptracer.py525 evt6.sport != 0 && evt6.dport != 0) {
HIGHtools/criticalstat.py147 if (stdp && stdp->active) {
HIGHtools/tcpcong.py441 'if (lport < %d || lport > %d) { return 0; }'
HIGHtools/tcpcong.py448 'if (dport < %d || dport > %d) { return 0; }'
HIGHtools/runqslower.py92 if (FILTER_PID || FILTER_TGID || pid == 0)
HIGHtools/filetop.py119 if (d_name.len == 0 || TYPE_FILTER)
HIGHtools/tcplife.py165 if (state == TCP_SYN_SENT || state == TCP_LAST_ACK) {
HIGHtools/tcplife.py294 if (args->newstate == TCP_SYN_SENT || args->newstate == TCP_LAST_ACK) {
HIGHtools/inject.py175 if (p->conds_met < 1 || p->conds_met >= %s)
HIGHtools/inject.py227 if (%s == 1 && %s && overridden < %s) {
HIGHtools/inject.py242 if (p->conds_met == %s && %s && overridden < %s) {
HIGHtools/exitsnoop.py102 if (FILTER_PID || FILTER_EXIT_CODE) { return 0; }
HIGHtools/exitsnoop.py124 filter_pid = "!(task->tgid == %s && task->pid == task->tgid)" % Global.args.pid
HIGHtools/filegone.py89 if (s_name.len == 0 || d_name.len == 0)
HIGHtools/fileslower.py105 if (de->d_name.len == 0 || TYPE_FILTER)
HIGHtools/hardirqs.py180 if (tsp == 0 || namep == 0) {
HIGHtools/runqlat.py92 if (FILTER || pid == 0)
HIGHtools/runqlat.py160 if (!(FILTER || pid == 0)) {
HIGHtools/runqlat.py168 if (FILTER || pid == 0)
HIGHtools/runqlat.py214 if (!(FILTER || pid == 0)) {
HIGHtools/runqlat.py222 if (FILTER || pid == 0)
HIGHtools/memleak.py459 size_filter = "if (size < %d || size > %d) return 0;" % \
HIGHtools/bindsnoop.py205 if (ret != 0 && ignore_errors) {
HIGHtools/opensnoop.py478 if (filepart_length < 0 || filepart_length > NAME_MAX)
HIGHtools/opensnoop.py484 if (dentry == parent_dentry || dentry == mnt_root) {
HIGHtools/old/filegone.py95 if (s_name.len == 0 || d_name.len == 0)
HIGHtools/old/hardirqs.py111 if (tsp == 0 || descp == 0) {
HIGHtools/old/memleak.py220 size_filter = "if (size < %d || size > %d) return 0;" % \
HIGHtools/old/killsnoop.py63 if (tpidp == 0 || sigp == 0) {
HIGHtests/python/test_clang.py1320 if (!disk || disk->major != 5 || disk->first_minor != 6)
HIGHtests/python/test_queuestack.py24 stack.push(ct.c_uint64(i))
HIGHtests/python/test_queuestack.py27 stack.push(ct.c_uint(10))
HIGHtests/python/test_queuestack.py41 stack.push(ct.c_uint64(i))
HIGHtests/python/test_queuestack.py57 queue.push(ct.c_uint64(i))
HIGHtests/python/test_queuestack.py60 queue.push(ct.c_uint(10))
HIGHtests/python/test_queuestack.py74 queue.push(ct.c_uint64(i))
HIGHexamples/tracing/nflatency.py108 if (!s || s->ts == 0) {
HIGHexamples/tracing/dddos.py60 if(rcv_packets_nb_ptr != 0 && rcv_packets_ts_ptr != 0){
HIGHexamples/networking/vlan_learning/vlan_learning.py69 "for i in {1..8}; do curl 172.16.1.5 -o /dev/null; sleep 1; done"]
HIGHexamples/networking/tunnel_monitor/main.py43 self.processes.append(NSPopen(host[0].nl.netns, cmd, stdout=null))
Cross-File Repetition10 hits · 50 pts
SeverityFileLineSnippet
HIGHtests/python/simulation.py0helper class for controlling multiple namespaces. inherit from this class and setup your namespaces.
HIGHexamples/networking/simulation.py0helper class for controlling multiple namespaces. inherit from this class and setup your namespaces.
HIGHexamples/networking/vlan_learning/simulation.py0helper class for controlling multiple namespaces. inherit from this class and setup your namespaces.
HIGHexamples/networking/distributed_bridge/simulation.py0helper class for controlling multiple namespaces. inherit from this class and setup your namespaces.
HIGHexamples/networking/neighbor_sharing/simulation.py0helper class for controlling multiple namespaces. inherit from this class and setup your namespaces.
HIGHexamples/networking/tunnel_monitor/simulation.py0helper class for controlling multiple namespaces. inherit from this class and setup your namespaces.
HIGHdocs/reference_guide.md0int hello(void *ctx) { bpf_trace_printk("hello, world!\\n"); return 0; }
HIGHdocs/tutorial_bcc_python_developer.md0int hello(void *ctx) { bpf_trace_printk("hello, world!\\n"); return 0; }
HIGHexamples/tracing/trace_fields.py0int hello(void *ctx) { bpf_trace_printk("hello, world!\\n"); return 0; }
HIGHexamples/tracing/hello_fields.py0int hello(void *ctx) { bpf_trace_printk("hello, world!\\n"); return 0; }
Excessive Try-Catch Wrapping46 hits · 42 pts
SeverityFileLineSnippet
LOWtools/kvmexit.py364except Exception as e:
MEDIUMtools/funclatency.py80 print("Error: " + error)
LOWtools/deadlock.py507 except Exception as e:
LOWtools/deadlock.py518 except Exception as e:
MEDIUMtools/ppchcalls.py288 print("Error: hcall '%s' not found. Exiting." % args.hcall)
LOWtools/ppchcalls.py446 except Exception:
MEDIUMtools/ppchcalls.py234def handle_errno(errstr):
LOWtools/threadsnoop.py59except Exception:
LOWtools/profile.py333except Exception:
LOWtools/criticalstat.py325 except Exception:
MEDIUMtools/criticalstat.py299def print_event(cpu, data, size):
MEDIUMtools/tcpconnect.py353 print("Error: you may not specify -d/--dns with -c/--count.")
MEDIUMtools/tcpconnect.py486 print("Error: The python packages dnslib and cachetools are required "
MEDIUMtools/filetop.py186 print(f'Error accessing directory {args.directory}: {e}')
LOWtools/funccount.py309 except Exception:
LOWtools/llcstat.py98except Exception:
LOWtools/exitsnoop.py215 except Exception as e:
LOWtools/execsnoop.py353 except Exception:
LOWtools/fileslower.py205except Exception:
LOWtools/fileslower.py212except Exception:
MEDIUMtools/syscount.py104 print("Error: syscall '%s' not found. Exiting." % args.syscall)
LOWtools/syscount.py265 except Exception:
MEDIUMtools/syscount.py37def handle_errno(errstr):
LOWtools/biolatpcts.py125except Exception:
MEDIUMtools/funcinterval.py70 print("Error: " + error)
LOWtools/memleak.py494 except Exception:
LOWtools/stackcount.py386 except Exception:
LOWtools/lib/ustat.py75 except Exception:
LOWtests/python/test_attach_perf_event.py60 except Exception:
LOWtests/python/test_attach_perf_event.py106 except Exception:
LOWtests/python/test_attach_perf_event.py151 except Exception:
LOWtests/python/test_clang.py869 except Exception:
LOWtests/python/test_bpf_log.py51 except Exception:
LOWtests/python/test_bpf_log.py61 except Exception:
MEDIUMexamples/tracing/lbr.py132 print('Error tracepoint or kretprobe is required')
MEDIUMexamples/tracing/lbr.py141 print('Error binary path is invalid')
LOWexamples/networking/tcp_mon_block/src/web_server.py23 except Exception as e:
MEDIUMexamples/networking/tcp_mon_block/src/web_server.py20def public_ip():
LOW.github/scripts/check_links.py30 except Exception as e:
MEDIUMsrc/python/bcc/__init__.py1831 print("Error adding module to build sym cache"+str(e))
LOWsrc/python/bcc/__init__.py443 except Exception as e:
LOWsrc/python/bcc/__init__.py451 except Exception as e:
LOWsrc/python/bcc/__init__.py1598 except Exception as e:
LOWsrc/python/bcc/__init__.py1613 except Exception as e:
LOWsrc/python/bcc/__init__.py1830 except Exception as e:
LOWsrc/python/bcc/syscall.py467except Exception as e:
Hyper-Verbose Identifiers51 hits · 34 pts
SeverityFileLineSnippet
LOWtools/kvmexit.py443def extract_pcpu_kvm_exit_reason_count(args):
LOWtools/runqlen.py81def check_runnable_weight_field():
LOWtools/trace.py420 def _generate_usdt_filter_read(self):
LOWtools/deadlock.py139def strongly_connected_components(G):
LOWtools/statsnoop.py171def try_attach_syscall_probes(syscall):
LOWtools/cpuunclaimed.py123def check_runnable_weight_field():
LOWtools/argdist.py113 def _generate_retprobe_prefix(self):
LOWtools/argdist.py298 def _generate_usdt_arg_assignment(self, i):
LOWtools/argdist.py310 def _generate_field_assignment(self, i):
LOWtools/memleak.py562def print_outstanding_combined():
LOWtools/tplist.py66def print_usdt_argument_details(location):
LOWtests/python/test_attach_perf_event.py17 def test_attach_raw_event_powerpc(self):
LOWtests/python/test_map_batch_ops.py64 def test_lookup_and_delete_batch_all_keys(self):
LOWtests/python/test_map_batch_ops.py76 def test_lookup_batch_all_keys(self):
LOWtests/python/test_map_batch_ops.py84 def test_delete_batch_all_keys(self):
LOWtests/python/test_map_batch_ops.py105 def test_update_batch_all_keys(self):
LOWtests/python/test_array.py76 def test_perf_buffer_for_each_cpu(self):
LOWtests/python/test_clang.py438 def test_probe_simple_member_assign(self):
LOWtests/python/test_clang.py451 def test_probe_member_expr_deref(self):
LOWtests/python/test_clang.py58 def test_load_cgroup_sockopt_prog(self):
LOWtests/python/test_clang.py272 def test_consecutive_probe_read(self):
LOWtests/python/test_clang.py307 def test_nested_probe_read_deref(self):
LOWtests/python/test_clang.py361 def test_probe_unnamed_union_deref(self):
LOWtests/python/test_clang.py492 def test_probe_read_nested_deref(self):
LOWtests/python/test_clang.py771 def test_ext_ptr_maps_reverse(self):
LOWtests/python/test_clang.py800 def test_ext_ptr_maps_indirect(self):
LOWtests/python/test_clang.py830 def test_bpf_dins_pkt_rewrite(self):
LOWtests/python/test_clang.py963 def test_invalid_noninline_call(self):
LOWtests/python/test_clang.py1041 def test_probe_read_tracepoint_context(self):
LOWtests/python/test_clang.py1051 def test_probe_read_kprobe_ctx(self):
LOWtests/python/test_clang.py1064 def test_probe_read_ctx_array(self):
LOWtests/python/test_clang.py1110 def test_probe_read_multiple_return(self):
LOWtests/python/test_clang.py1130 def test_probe_read_return_expr(self):
LOWtests/python/test_clang.py1145 def test_probe_read_return_call(self):
LOWtests/python/test_clang.py1159 def test_no_probe_read_addrof(self):
LOWtests/python/test_clang.py1264 def test_arbitrary_increment_simple(self):
LOWtests/python/test_map_in_map.py92 def test_hash_table_custom_key(self):
LOWtests/python/test_license.py75 def test_gpl_compatible_macro(self):
LOWtests/python/test_license.py79 def test_proprietary_words_macro(self):
LOWtests/python/test_license.py99 def test_proprietary_fail_macro(self):
LOWtests/python/test_license.py104 def test_proprietary_cflags_fail(self):
LOWtests/python/test_disassembler.py154 def _assert_equal_ignore_fd_id(s1, s2):
LOWexamples/tracing/strlen_hist_ifunc.py46def get_indirect_function_sym(module, symname):
LOWsrc/python/bcc/containers.py15def _cgroup_filter_func_writer(cgroupmap):
LOWsrc/python/bcc/containers.py34def _mntns_filter_func_writer(mntnsmap):
LOWsrc/python/bcc/__init__.py929 def detach_kprobe_event_by_fn(self, ev_name, fn_name):
LOWsrc/python/bcc/__init__.py1271 def support_raw_tracepoint_in_module():
LOWsrc/python/bcc/__init__.py1390 def get_user_functions_and_addresses(name, sym_re):
LOWsrc/python/bcc/table.py453 def _sanity_check_keys_values(self, keys=None, values=None):
LOWsrc/python/bcc/table.py548 def items_lookup_and_delete_batch(self):
LOWsrc/python/bcc/table.py563 def _items_lookup_and_optionally_delete_batch(self, delete=True):
Deep Nesting32 hits · 30 pts
SeverityFileLineSnippet
LOWtools/trace.py386
LOWtools/deadlock.py139
LOWtools/deadlock.py194
LOWtools/deadlock.py389
LOWtools/inject.py379
LOWtools/inject.py464
LOWtools/nfsslower.py384
LOWtools/funccount.py37
LOWtools/funccount.py89
LOWtools/funccount.py118
LOWtools/execsnoop.py303
LOWtools/execsnoop.py314
LOWtools/cachetop.py143
LOWtools/dirtop.py144
LOWtools/argdist.py514
LOWtools/biolatpcts.py215
LOWtools/mountsnoop.py683
LOWtools/stackcount.py30
LOWtools/stackcount.py315
LOWtools/opensnoop.py562
LOWtests/python/test_debuginfo.py12
LOWexamples/networking/http_filter/http-parse-complete.py38
LOWexamples/networking/distributed_bridge/tunnel_mesh.py41
LOWexamples/networking/tunnel_monitor/main.py29
LOWsrc/python/bcc/disassembler.py234
LOWsrc/python/bcc/disassembler.py355
LOWsrc/python/bcc/__init__.py345
LOWsrc/python/bcc/__init__.py603
LOWsrc/python/bcc/__init__.py719
LOWsrc/python/bcc/__init__.py1038
LOWsrc/python/bcc/__init__.py1540
LOWsrc/python/bcc/table.py273
Docstring Block Structure6 hits · 30 pts
SeverityFileLineSnippet
HIGHsrc/python/bcc/table.py419Allocate keys and/or values arrays. Useful for in items_*_batch. Args: alloc_k (bool): True to allo
HIGHsrc/python/bcc/table.py454Check if the given keys or values have the right type and size. Args: keys (ct.Array): keys array t
HIGHsrc/python/bcc/table.py484Look up all the key-value pairs in the map. Args: None Yields: tuple: The tuple
HIGHsrc/python/bcc/table.py498Delete the key-value pairs related to the keys given as parameters. Note that if no key are given, it is faster
HIGHsrc/python/bcc/table.py549Look up and delete all the key-value pairs in the map. Args: None Yields: tuple
HIGHsrc/python/bcc/table.py564Look up and optionally delete all the key-value pairs in the map. Args: delete (bool) : look up and
Self-Referential Comments7 hits · 13 pts
SeverityFileLineSnippet
MEDIUMtools/runqlen.py82 # Define the bpf program for checking purpose
MEDIUMtools/tcpaccept.py97# The following code uses kprobes to instrument inet_csk_accept().
MEDIUMtools/tcptracer.py11# The following code should be replaced, and simplified, when static TCP probes
MEDIUMtools/cpuunclaimed.py124 # Define the bpf program for checking purpose
MEDIUMtools/execsnoop.py108 # Define the bpf program for checking purpose
MEDIUM…les/networking/neighbor_sharing/tc_neighbor_sharing.py29 # Create the wan namespace, and attach an ingress filter for throttling
MEDIUMsrc/python/bcc/table.py667 # The above code assumes that self.Key._fields_[1][0] holds the
Decorative Section Separators4 hits · 12 pts
SeverityFileLineSnippet
MEDIUMtools/exitsnoop.py182# =============================
MEDIUMtools/exitsnoop.py184# =============================
MEDIUMtools/exitsnoop.py245# =============================
MEDIUMtools/exitsnoop.py247# =============================
AI Slop Vocabulary3 hits · 3 pts
SeverityFileLineSnippet
LOWtools/killsnoop.py155 pass # not fatal error, just use the default value
MEDIUMexamples/tracing/stack_buildid_example.py77# libc.so and ping are added here so that any symbols pertaining to
LOWexamples/networking/vlan_filter/data-plane-tracing.py94#get interface ip address. In case ip is not set then just add 127.0.0.1.
Slop Phrases1 hit · 3 pts
SeverityFileLineSnippet
MEDIUM.github/workflows/bcc-test.yml241# To debug weird issues, you can add this step to be able to SSH to the test environment
Redundant / Tautological Comments2 hits · 2 pts
SeverityFileLineSnippet
LOWtools/kvmexit.py359 # Check if kvm module is loaded
LOWscripts/docker/auth.sh15# Set this to match the name of the bot user on quay.io
Example Usage Blocks1 hit · 2 pts
SeverityFileLineSnippet
LOWexamples/networking/tcp_mon_block/src/tcp_mon_block.py9# Usage: