__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
#! /usr/bin/python3
#
# deadlock  Detects potential deadlocks (lock order inversions)
#           on a running process. For Linux, uses BCC, eBPF.
#
# USAGE: deadlock.py [-h] [--binary BINARY] [--dump-graph DUMP_GRAPH]
#                    [--verbose] [--lock-symbols LOCK_SYMBOLS]
#                    [--unlock-symbols UNLOCK_SYMBOLS]
#                    pid
#
# This traces pthread mutex lock and unlock calls to build a directed graph
# representing the mutex wait graph:
#
# - Nodes in the graph represent mutexes.
# - Edge (A, B) exists if there exists some thread T where lock(A) was called
#   and lock(B) was called before unlock(A) was called.
#
# If the program finds a potential lock order inversion, the program will dump
# the cycle of mutexes and the stack traces where each mutex was acquired, and
# then exit.
#
# This program can only find potential deadlocks that occur while the program
# is tracing the process. It cannot find deadlocks that may have occurred
# before the program was attached to the process.
#
# Since this traces all mutex lock and unlock events and all thread creation
# events on the traced process, the overhead of this bpf program can be very
# high if the process has many threads and mutexes. You should only run this on
# a process where the slowdown is acceptable.
#
# Note: This tool does not work for shared mutexes or recursive mutexes.
#
# For shared (read-write) mutexes, a deadlock requires a cycle in the wait
# graph where at least one of the mutexes in the cycle is acquiring exclusive
# (write) ownership.
#
# For recursive mutexes, lock() is called multiple times on the same mutex.
# However, there is no way to determine if a mutex is a recursive mutex
# after the mutex has been created. As a result, this tool will not find
# potential deadlocks that involve only one mutex.
#
# Copyright 2017 Facebook, Inc.
# Licensed under the Apache License, Version 2.0 (the "License")
#
# 01-Feb-2017   Kenny Yu   Created this.

from __future__ import (
    absolute_import, division, unicode_literals, print_function
)
from bcc import BPF
from collections import defaultdict
import argparse
import json
import os
import subprocess
import sys
import time


class DiGraph(object):
    '''
    Adapted from networkx: http://networkx.github.io/
    Represents a directed graph. Edges can store (key, value) attributes.
    '''

    def __init__(self):
        # Map of node -> set of nodes
        self.adjacency_map = {}
        # Map of (node1, node2) -> map string -> arbitrary attribute
        # This will not be copied in subgraph()
        self.attributes_map = {}

    def neighbors(self, node):
        return self.adjacency_map.get(node, set())

    def edges(self):
        edges = []
        for node, neighbors in self.adjacency_map.items():
            for neighbor in neighbors:
                edges.append((node, neighbor))
        return edges

    def nodes(self):
        return self.adjacency_map.keys()

    def attributes(self, node1, node2):
        return self.attributes_map[(node1, node2)]

    def add_edge(self, node1, node2, **kwargs):
        if node1 not in self.adjacency_map:
            self.adjacency_map[node1] = set()
        if node2 not in self.adjacency_map:
            self.adjacency_map[node2] = set()
        self.adjacency_map[node1].add(node2)
        self.attributes_map[(node1, node2)] = kwargs

    def remove_node(self, node):
        self.adjacency_map.pop(node, None)
        for _, neighbors in self.adjacency_map.items():
            neighbors.discard(node)

    def subgraph(self, nodes):
        graph = DiGraph()
        for node in nodes:
            for neighbor in self.neighbors(node):
                if neighbor in nodes:
                    graph.add_edge(node, neighbor)
        return graph

    def node_link_data(self):
        '''
        Returns the graph as a dictionary in a format that can be
        serialized.
        '''
        data = {
            'directed': True,
            'multigraph': False,
            'graph': {},
            'links': [],
            'nodes': [],
        }

        # Do one pass to build a map of node -> position in nodes
        node_to_number = {}
        for node in self.adjacency_map.keys():
            node_to_number[node] = len(data['nodes'])
            data['nodes'].append({'id': node})

        # Do another pass to build the link information
        for node, neighbors in self.adjacency_map.items():
            for neighbor in neighbors:
                link = self.attributes_map[(node, neighbor)].copy()
                link['source'] = node_to_number[node]
                link['target'] = node_to_number[neighbor]
                data['links'].append(link)
        return data


def strongly_connected_components(G):
    '''
    Adapted from networkx: http://networkx.github.io/
    Parameters
    ----------
    G : DiGraph
    Returns
    -------
    comp : generator of sets
        A generator of sets of nodes, one for each strongly connected
        component of G.
    '''
    preorder = {}
    lowlink = {}
    scc_found = {}
    scc_queue = []
    i = 0  # Preorder counter
    for source in G.nodes():
        if source not in scc_found:
            queue = [source]
            while queue:
                v = queue[-1]
                if v not in preorder:
                    i = i + 1
                    preorder[v] = i
                done = 1
                v_nbrs = G.neighbors(v)
                for w in v_nbrs:
                    if w not in preorder:
                        queue.append(w)
                        done = 0
                        break
                if done == 1:
                    lowlink[v] = preorder[v]
                    for w in v_nbrs:
                        if w not in scc_found:
                            if preorder[w] > preorder[v]:
                                lowlink[v] = min([lowlink[v], lowlink[w]])
                            else:
                                lowlink[v] = min([lowlink[v], preorder[w]])
                    queue.pop()
                    if lowlink[v] == preorder[v]:
                        scc_found[v] = True
                        scc = {v}
                        while (
                            scc_queue and preorder[scc_queue[-1]] > preorder[v]
                        ):
                            k = scc_queue.pop()
                            scc_found[k] = True
                            scc.add(k)
                        yield scc
                    else:
                        scc_queue.append(v)


def simple_cycles(G):
    '''
    Adapted from networkx: http://networkx.github.io/
    Parameters
    ----------
    G : DiGraph
    Returns
    -------
    cycle_generator: generator
       A generator that produces elementary cycles of the graph.
       Each cycle is represented by a list of nodes along the cycle.
    '''

    def _unblock(thisnode, blocked, B):
        stack = set([thisnode])
        while stack:
            node = stack.pop()
            if node in blocked:
                blocked.remove(node)
                stack.update(B[node])
                B[node].clear()

    # Johnson's algorithm requires some ordering of the nodes.
    # We assign the arbitrary ordering given by the strongly connected comps
    # There is no need to track the ordering as each node removed as processed.
    # save the actual graph so we can mutate it here
    # We only take the edges because we do not want to
    # copy edge and node attributes here.
    subG = G.subgraph(G.nodes())
    sccs = list(strongly_connected_components(subG))
    while sccs:
        scc = sccs.pop()
        # order of scc determines ordering of nodes
        startnode = scc.pop()
        # Processing node runs 'circuit' routine from recursive version
        path = [startnode]
        blocked = set()  # vertex: blocked from search?
        closed = set()  # nodes involved in a cycle
        blocked.add(startnode)
        B = defaultdict(set)  # graph portions that yield no elementary circuit
        stack = [(startnode, list(subG.neighbors(startnode)))]
        while stack:
            thisnode, nbrs = stack[-1]
            if nbrs:
                nextnode = nbrs.pop()
                if nextnode == startnode:
                    yield path[:]
                    closed.update(path)
                elif nextnode not in blocked:
                    path.append(nextnode)
                    stack.append((nextnode, list(subG.neighbors(nextnode))))
                    closed.discard(nextnode)
                    blocked.add(nextnode)
                    continue
            # done with nextnode... look for more neighbors
            if not nbrs:  # no more nbrs
                if thisnode in closed:
                    _unblock(thisnode, blocked, B)
                else:
                    for nbr in subG.neighbors(thisnode):
                        if thisnode not in B[nbr]:
                            B[nbr].add(thisnode)
                stack.pop()
                path.pop()
        # done processing this node
        subG.remove_node(startnode)
        H = subG.subgraph(scc)  # make smaller to avoid work in SCC routine
        sccs.extend(list(strongly_connected_components(H)))


def find_cycle(graph):
    '''
    Looks for a cycle in the graph. If found, returns the first cycle.
    If nodes a1, a2, ..., an are in a cycle, then this returns:
        [(a1,a2), (a2,a3), ... (an-1,an), (an, a1)]
    Otherwise returns an empty list.
    '''
    cycles = list(simple_cycles(graph))
    if cycles:
        nodes = cycles[0]
        nodes.append(nodes[0])
        edges = []
        prev = nodes[0]
        for node in nodes[1:]:
            edges.append((prev, node))
            prev = node
        return edges
    else:
        return []


def print_cycle(binary, graph, edges, thread_info, print_stack_trace_fn):
    '''
    Prints the cycle in the mutex graph in the following format:

    Potential Deadlock Detected!

    Cycle in lock order graph: M0 => M1 => M2 => M0

    for (m, n) in cycle:
        Mutex n acquired here while holding Mutex m in thread T:
            [ stack trace ]

        Mutex m previously acquired by thread T here:
            [ stack trace ]

    for T in all threads:
        Thread T was created here:
            [ stack trace ]
    '''

    # List of mutexes in the cycle, first and last repeated
    nodes_in_order = []
    # Map mutex address -> readable alias
    node_addr_to_name = {}
    for counter, (m, n) in enumerate(edges):
        nodes_in_order.append(m)
        # For global or static variables, try to symbolize the mutex address.
        symbol = symbolize_with_objdump(binary, m)
        if symbol:
            symbol += ' '
        node_addr_to_name[m] = 'Mutex M%d (%s0x%016x)' % (counter, symbol, m)
    nodes_in_order.append(nodes_in_order[0])

    print('----------------\nPotential Deadlock Detected!\n')
    print(
        'Cycle in lock order graph: %s\n' %
        (' => '.join([node_addr_to_name[n] for n in nodes_in_order]))
    )

    # Set of threads involved in the lock inversion
    thread_pids = set()

    # For each edge in the cycle, print where the two mutexes were held
    for (m, n) in edges:
        thread_pid = graph.attributes(m, n)['thread_pid']
        thread_comm = graph.attributes(m, n)['thread_comm']
        first_mutex_stack_id = graph.attributes(m, n)['first_mutex_stack_id']
        second_mutex_stack_id = graph.attributes(m, n)['second_mutex_stack_id']
        thread_pids.add(thread_pid)
        print(
            '%s acquired here while holding %s in Thread %d (%s):' % (
                node_addr_to_name[n], node_addr_to_name[m], thread_pid,
                thread_comm
            )
        )
        print_stack_trace_fn(second_mutex_stack_id)
        print('')
        print(
            '%s previously acquired by the same Thread %d (%s) here:' %
            (node_addr_to_name[m], thread_pid, thread_comm)
        )
        print_stack_trace_fn(first_mutex_stack_id)
        print('')

    # Print where the threads were created, if available
    for thread_pid in thread_pids:
        parent_pid, stack_id, parent_comm = thread_info.get(
            thread_pid, (None, None, None)
        )
        if parent_pid:
            print(
                'Thread %d created by Thread %d (%s) here: ' %
                (thread_pid, parent_pid, parent_comm)
            )
            print_stack_trace_fn(stack_id)
        else:
            print(
                'Could not find stack trace where Thread %d was created' %
                thread_pid
            )
        print('')


def symbolize_with_objdump(binary, addr):
    '''
    Searches the binary for the address using objdump. Returns the symbol if
    it is found, otherwise returns empty string.
    '''
    try:
        command = (
            'objdump -tT %s | grep %x | awk {\'print $NF\'} | c++filt' %
            (binary, addr)
        )
        output = subprocess.check_output(command, shell=True)
        return output.decode('utf-8').strip()
    except subprocess.CalledProcessError:
        return ''


def strlist(s):
    '''Given a comma-separated string, returns a list of substrings'''
    return s.strip().split(',')


def main():
    examples = '''Examples:
    deadlock 181                 # Analyze PID 181

    deadlock 181 --binary /lib/x86_64-linux-gnu/libpthread.so.0
                                 # Analyze PID 181 and locks from this binary.
                                 # If tracing a process that is running from
                                 # a dynamically-linked binary, this argument
                                 # is required and should be the path to the
                                 # pthread library.

    deadlock 181 --verbose
                                 # Analyze PID 181 and print statistics about
                                 # the mutex wait graph.

    deadlock 181 --lock-symbols my_mutex_lock1,my_mutex_lock2 \\
        --unlock-symbols my_mutex_unlock1,my_mutex_unlock2
                                 # Analyze PID 181 and trace custom mutex
                                 # symbols instead of pthread mutexes.

    deadlock 181 --dump-graph graph.json
                                 # Analyze PID 181 and dump the mutex wait
                                 # graph to graph.json.
    '''
    parser = argparse.ArgumentParser(
        description=(
            'Detect potential deadlocks (lock inversions) in a running binary.'
            '\nMust be run as root.'
        ),
        formatter_class=argparse.RawDescriptionHelpFormatter,
        epilog=examples,
    )
    parser.add_argument('pid', type=int, help='Pid to trace')
    # Binaries with `:` in the path will fail to attach uprobes on kernels
    # running without this patch: https://lkml.org/lkml/2017/1/13/585.
    # Symlinks to the binary without `:` in the path can get around this issue.
    parser.add_argument(
        '--binary',
        type=str,
        default='',
        help='If set, trace the mutexes from the binary at this path. '
        'For statically-linked binaries, this argument is not required. '
        'For dynamically-linked binaries, this argument is required and '
        'should be the path of the pthread library the binary is using. '
        'Example: /lib/x86_64-linux-gnu/libpthread.so.0',
    )
    parser.add_argument(
        '--dump-graph',
        type=str,
        default='',
        help='If set, this will dump the mutex graph to the specified file.',
    )
    parser.add_argument(
        '--verbose',
        action='store_true',
        help='Print statistics about the mutex wait graph.',
    )
    parser.add_argument(
        '--lock-symbols',
        type=strlist,
        default=['pthread_mutex_lock'],
        help='Comma-separated list of lock symbols to trace. Default is '
        'pthread_mutex_lock. These symbols cannot be inlined in the binary.',
    )
    parser.add_argument(
        '--unlock-symbols',
        type=strlist,
        default=['pthread_mutex_unlock'],
        help='Comma-separated list of unlock symbols to trace. Default is '
        'pthread_mutex_unlock. These symbols cannot be inlined in the binary.',
    )
    parser.add_argument(
        '-t', '--threads', type=int, default=65536,
        help='Specifies the maximum number of threads to trace. default 65536. '
             'Note. 40 bytes per thread.'
    )
    parser.add_argument(
        '-e', '--edges', type=int, default=65536,
        help='Specifies the maximum number of edge cases that can be recorded. '
             'default 65536. Note. 88 bytes per edge case.'
    )
    parser.add_argument(
        '-s', '--stacktraces', type=int, default=65536,
        help='Specifies the maximum number of stack traces that can be recorded. '
             'This number is rounded up to the next power of two.'
             'default 65536. Note. 1 kbytes vmalloced per stack trace.'
    )

    args = parser.parse_args()
    if not args.binary:
        try:
            args.binary = os.readlink('/proc/%d/exe' % args.pid)
        except OSError as e:
            print('%s. Is the process (pid=%d) running?' % (str(e), args.pid))
            sys.exit(1)

    with open('/usr/share/bpfcc-tools/deadlock.c') as f:
        text = f.read()
    text = text.replace('MAX_THREADS', str(args.threads));
    text = text.replace('MAX_EDGES', str(args.edges));
    text = text.replace('MAX_TRACES', str(args.stacktraces));
    bpf = BPF(text=text)

    # Trace where threads are created
    bpf.attach_kretprobe(event=bpf.get_syscall_fnname('clone'), fn_name='trace_clone')

    # We must trace unlock first, otherwise in the time we attached the probe
    # on lock() and have not yet attached the probe on unlock(), a thread can
    # acquire mutexes and release them, but the release events will not be
    # traced, resulting in noisy reports.
    for symbol in args.unlock_symbols:
        try:
            bpf.attach_uprobe(
                name=args.binary,
                sym=symbol,
                fn_name='trace_mutex_release',
                pid=args.pid,
            )
        except Exception as e:
            print('%s. Failed to attach to symbol: %s\nIs --binary argument missing?' % (str(e), symbol))
            sys.exit(1)
    for symbol in args.lock_symbols:
        try:
            bpf.attach_uprobe(
                name=args.binary,
                sym=symbol,
                fn_name='trace_mutex_acquire',
                pid=args.pid,
            )
        except Exception as e:
            print('%s. Failed to attach to symbol: %s' % (str(e), symbol))
            sys.exit(1)

    def print_stack_trace(stack_id):
        '''Closure that prints the symbolized stack trace.'''
        for addr in bpf.get_table('stack_traces').walk(stack_id):
            line = bpf.sym(addr, args.pid)
            # Try to symbolize with objdump if we cannot with bpf.
            if line == '[unknown]':
                symbol = symbolize_with_objdump(args.binary, addr)
                if symbol:
                    line = symbol
            print('@ %016x %s' % (addr, line))

    print('Tracing... Hit Ctrl-C to end.')
    while True:
        try:
            # Map of child thread pid -> parent info
            thread_info = {
                child.value: (parent.parent_pid, parent.stack_id, parent.comm)
                for child, parent in bpf.get_table('thread_to_parent').items()
            }

            # Mutex wait directed graph. Nodes are mutexes. Edge (A,B) exists
            # if there exists some thread T where lock(A) was called and
            # lock(B) was called before unlock(A) was called.
            graph = DiGraph()
            for key, leaf in bpf.get_table('edges').items():
                graph.add_edge(
                    key.mutex1,
                    key.mutex2,
                    thread_pid=leaf.thread_pid,
                    thread_comm=leaf.comm.decode('utf-8'),
                    first_mutex_stack_id=leaf.mutex1_stack_id,
                    second_mutex_stack_id=leaf.mutex2_stack_id,
                )
            if args.verbose:
                print(
                    'Mutexes: %d, Edges: %d' %
                    (len(graph.nodes()), len(graph.edges()))
                )
            if args.dump_graph:
                with open(args.dump_graph, 'w') as f:
                    data = graph.node_link_data()
                    f.write(json.dumps(data, indent=2))

            cycle = find_cycle(graph)
            if cycle:
                print_cycle(
                    args.binary, graph, cycle, thread_info, print_stack_trace
                )
                sys.exit(1)

            time.sleep(1)
        except KeyboardInterrupt:
            break


if __name__ == '__main__':
    main()

Filemanager

Name Type Size Permission Actions
ModemManager File 2.3 MB 0755
NetworkManager File 4.02 MB 0755
a2disconf File 15.75 KB 0755
a2dismod File 15.75 KB 0755
a2dissite File 15.75 KB 0755
a2enconf File 15.75 KB 0755
a2enmod File 15.75 KB 0755
a2ensite File 15.75 KB 0755
a2query File 9.6 KB 0755
aa-load File 38.81 KB 0755
aa-remove-unknown File 3.15 KB 0755
aa-status File 43.14 KB 0755
aa-teardown File 137 B 0755
accessdb File 14.63 KB 0755
add-shell File 1.03 KB 0755
addgnupghome File 3 KB 0755
addgroup File 53.9 KB 0755
adduser File 53.9 KB 0755
agetty File 67.64 KB 0755
alsa File 5.45 KB 0755
alsa-info File 29.29 KB 0755
alsabat-test File 4.04 KB 0755
alsactl File 131.67 KB 0755
anacron File 34.25 KB 0755
apache2 File 828.66 KB 0755
apache2ctl File 7.26 KB 0755
apachectl File 7.26 KB 0755
apparmor_parser File 1.7 MB 0755
apparmor_status File 43.14 KB 0755
applygnupgdefaults File 2.17 KB 0755
aptd File 1.36 KB 0755
argdist-bpfcc File 36 KB 0755
arp File 65.69 KB 0755
arpd File 26.41 KB 0755
arptables File 271.37 KB 0755
arptables-nft File 271.37 KB 0755
arptables-nft-restore File 271.37 KB 0755
arptables-nft-save File 271.37 KB 0755
arptables-restore File 271.37 KB 0755
arptables-save File 271.37 KB 0755
arptables-translate File 271.37 KB 0755
aspell-autobuildhash File 13.39 KB 0755
avahi-daemon File 150.32 KB 0755
badblocks File 34.39 KB 0755
bashreadline-bpfcc File 2.7 KB 0755
bashreadline.bt File 698 B 0755
bindsnoop-bpfcc File 15.96 KB 0755
biolatency-bpfcc File 11.1 KB 0755
biolatency-kp.bt File 704 B 0755
biolatency.bt File 681 B 0755
biolatpcts-bpfcc File 10.01 KB 0755
biopattern-bpfcc File 3.86 KB 0755
biosdecode File 27.28 KB 0755
biosnoop-bpfcc File 10.58 KB 0755
biosnoop.bt File 1.12 KB 0755
biostacks.bt File 955 B 0755
biotop-bpfcc File 9.41 KB 0755
bitesize-bpfcc File 1.14 KB 0755
bitesize.bt File 567 B 0755
blkdeactivate File 15.97 KB 0755
blkdiscard File 22.45 KB 0755
blkid File 54.49 KB 0755
blkzone File 34.45 KB 0755
blockdev File 34.45 KB 0755
bluetoothd File 1.75 MB 0755
bpflist-bpfcc File 2.54 KB 0755
bpftool File 2.02 MB 0755
bridge File 156.56 KB 0755
brltty-setup File 1.38 KB 0755
btrfsdist-bpfcc File 6.47 KB 0755
btrfsslower-bpfcc File 9.75 KB 0755
cachestat-bpfcc File 6.38 KB 0755
cachetop-bpfcc File 9.15 KB 0755
capable-bpfcc File 8.28 KB 0755
capable.bt File 1.88 KB 0755
capsh File 57.2 KB 0755
cfdisk File 98.81 KB 0755
cgdisk File 166.56 KB 0755
chat File 34.38 KB 0755
chcpu File 34.45 KB 0755
check_forensic File 952 B 0755
chgpasswd File 58.45 KB 0755
chmem File 38.45 KB 0755
chpasswd File 75.16 KB 0755
chroot File 42.59 KB 0755
cobjnew-bpfcc File 53 B 0755
coldreboot File 99 B 0755
compactsnoop-bpfcc File 11.08 KB 0755
cpudist-bpfcc File 6.85 KB 0755
cpuunclaimed-bpfcc File 14.59 KB 0755
cpuwalk.bt File 497 B 0755
cracklib-check File 14.23 KB 0755
cracklib-format File 231 B 0755
cracklib-packer File 14.23 KB 0755
cracklib-unpacker File 14.23 KB 0755
create-cracklib-dict File 990 B 0755
criticalstat-bpfcc File 8.41 KB 0755
cron File 70.75 KB 0755
cups-browsed File 214.78 KB 0755
cupsaccept File 14.38 KB 0755
cupsctl File 14.45 KB 0755
cupsd File 502.93 KB 0755
cupsdisable File 14.38 KB 0755
cupsenable File 14.38 KB 0755
cupsfilter File 46.66 KB 0755
cupsreject File 14.38 KB 0755
dbconfig-generate-include File 12.36 KB 0755
dbconfig-load-include File 5.57 KB 0755
dbslower-bpfcc File 7.22 KB 0755
dbstat-bpfcc File 3.7 KB 0755
dcb File 104.59 KB 0755
dcsnoop-bpfcc File 4.03 KB 0755
dcsnoop.bt File 1.23 KB 0755
dcstat-bpfcc File 3.77 KB 0755
deadlock-bpfcc File 20.45 KB 0755
debugfs File 237.95 KB 0755
delgroup File 18.53 KB 0755
deluser File 18.53 KB 0755
depmod File 194.31 KB 0755
devlink File 186.94 KB 0755
dhcpcd File 479.49 KB 0755
dirtop-bpfcc File 8.37 KB 0755
dmidecode File 143.42 KB 0755
dmsetup File 162.34 KB 0755
dmstats File 162.34 KB 0755
dnsmasq File 580.52 KB 0755
dosfsck File 98.46 KB 0755
dosfslabel File 42.46 KB 0755
dpkg-preconfigure File 4.46 KB 0755
dpkg-reconfigure File 4.43 KB 0755
drsnoop-bpfcc File 6.73 KB 0755
dump.exfat File 22.52 KB 0755
dumpe2fs File 34.38 KB 0755
e2freefrag File 18.38 KB 0755
e2fsck File 408.57 KB 0755
e2image File 42.46 KB 0755
e2label File 114.64 KB 0755
e2mmpstatus File 34.38 KB 0755
e2scrub File 7.36 KB 0755
e2scrub_all File 4.91 KB 0755
e2undo File 22.38 KB 0755
e4crypt File 30.45 KB 0755
e4defrag File 34.38 KB 0755
ebtables File 271.37 KB 0755
ebtables-nft File 271.37 KB 0755
ebtables-nft-restore File 271.37 KB 0755
ebtables-nft-save File 271.37 KB 0755
ebtables-restore File 271.37 KB 0755
ebtables-save File 271.37 KB 0755
ebtables-translate File 271.37 KB 0755
ethtool File 731.77 KB 0755
execsnoop-bpfcc File 10.93 KB 0755
execsnoop.bt File 928 B 0755
exfat2img File 34.52 KB 0755
exfatlabel File 26.55 KB 0755
exitsnoop-bpfcc File 9.42 KB 0755
ext4dist-bpfcc File 6.53 KB 0755
ext4slower-bpfcc File 9.71 KB 0755
f2fsslower-bpfcc File 10.52 KB 0755
faillock File 22.38 KB 0755
fatlabel File 42.46 KB 0755
fdisk File 118.5 KB 0755
filefrag File 18.39 KB 0755
filegone-bpfcc File 5.64 KB 0755
filelife-bpfcc File 6.38 KB 0755
fileslower-bpfcc File 7.2 KB 0755
filetop-bpfcc File 6.35 KB 0755
findfs File 14.45 KB 0755
fixparts File 58.55 KB 0755
fsck File 42.42 KB 0755
fsck.btrfs File 1.16 KB 0755
fsck.exfat File 71.34 KB 0755
fsck.ext2 File 408.57 KB 0755
fsck.ext3 File 408.57 KB 0755
fsck.ext4 File 408.57 KB 0755
fsck.fat File 98.46 KB 0755
fsck.msdos File 98.46 KB 0755
fsck.vfat File 98.46 KB 0755
fsfreeze File 14.45 KB 0755
fstab-decode File 14.38 KB 0755
fstrim File 42.45 KB 0755
funccount-bpfcc File 12.68 KB 0755
funcinterval-bpfcc File 5.46 KB 0755
funclatency-bpfcc File 11.28 KB 0755
funcslower-bpfcc File 10.38 KB 0755
gdisk File 198.56 KB 0755
gdm3 File 446.8 KB 0755
genl File 138.66 KB 0755
getcap File 14.38 KB 0755
gethostlatency-bpfcc File 3.82 KB 0755
gethostlatency.bt File 1.23 KB 0755
getpcaps File 14.38 KB 0755
getty File 67.64 KB 0755
getweb File 13.67 KB 0755
gnome-menus-blacklist File 2.23 KB 0755
gparted File 7.38 KB 0755
groupadd File 75.29 KB 0755
groupdel File 67.04 KB 0755
groupmod File 71.2 KB 0755
grpck File 58.45 KB 0755
grpconv File 50.32 KB 0755
grpunconv File 50.29 KB 0755
grub-install File 1.18 MB 0755
grub-macbless File 954.49 KB 0755
grub-mkconfig File 8.63 KB 0755
grub-mkdevicemap File 70.77 KB 0755
grub-probe File 962.74 KB 0755
grub-reboot File 4.73 KB 0755
grub-set-default File 3.47 KB 0755
halt File 299 KB 0755
hardirqs-bpfcc File 6.85 KB 0755
hdparm File 139.43 KB 0755
httxt2dbm File 14.38 KB 0755
iconvconfig File 34.55 KB 0755
ifconfig File 85.25 KB 0755
init File 134.45 KB 0755
inject-bpfcc File 16.06 KB 0755
insmod File 194.31 KB 0755
install-sgmlcatalog File 4.44 KB 0755
installkernel File 2.62 KB 0755
invoke-rc.d File 16.13 KB 0755
ip File 904.97 KB 0755
ip6tables File 271.37 KB 0755
ip6tables-apply File 6.89 KB 0755
ip6tables-legacy File 105.02 KB 0755
ip6tables-legacy-restore File 105.02 KB 0755
ip6tables-legacy-save File 105.02 KB 0755
ip6tables-nft File 271.37 KB 0755
ip6tables-nft-restore File 271.37 KB 0755
ip6tables-nft-save File 271.37 KB 0755
ip6tables-restore File 271.37 KB 0755
ip6tables-restore-translate File 271.37 KB 0755
ip6tables-save File 271.37 KB 0755
ip6tables-translate File 271.37 KB 0755
ipmaddr File 18.38 KB 0755
ipp-usb File 6.66 MB 0755
ippevepcl File 18.38 KB 0755
ippeveprinter File 186.46 KB 0755
ippeveps File 30.38 KB 0755
iptables File 271.37 KB 0755
iptables-apply File 6.89 KB 0755
iptables-legacy File 105.02 KB 0755
iptables-legacy-restore File 105.02 KB 0755
iptables-legacy-save File 105.02 KB 0755
iptables-nft File 271.37 KB 0755
iptables-nft-restore File 271.37 KB 0755
iptables-nft-save File 271.37 KB 0755
iptables-restore File 271.37 KB 0755
iptables-restore-translate File 271.37 KB 0755
iptables-save File 271.37 KB 0755
iptables-translate File 271.37 KB 0755
iptunnel File 18.38 KB 0755
isosize File 14.45 KB 0755
ispell-autobuildhash File 15.52 KB 0755
iucode-tool File 54.34 KB 0755
iucode_tool File 54.34 KB 0755
iw File 307.85 KB 0755
javacalls-bpfcc File 55 B 0755
javaflow-bpfcc File 54 B 0755
javagc-bpfcc File 52 B 0755
javaobjnew-bpfcc File 56 B 0755
javastat-bpfcc File 54 B 0755
javathreads-bpfcc File 57 B 0755
kbdrate File 18.38 KB 0755
kdump-config File 38.98 KB 0755
kexec File 190.41 KB 0755
kexec-load-kernel File 2.31 KB 0755
killall5 File 26.3 KB 0755
killsnoop-bpfcc File 4.45 KB 0755
killsnoop.bt File 873 B 0755
klockstat-bpfcc File 13.04 KB 0755
kvmexit-bpfcc File 11.19 KB 0755
ldattach File 26.45 KB 0755
ldconfig File 387 B 0755
ldconfig.real File 1.03 MB 0755
llcstat-bpfcc File 4.48 KB 0755
loads.bt File 1.1 KB 0755
locale-gen File 4.35 KB 0755
logrotate File 94.31 KB 0755
logsave File 18.23 KB 0755
losetup File 78.63 KB 0755
lpadmin File 34.38 KB 0755
lpc File 14.43 KB 0755
lpinfo File 14.38 KB 0755
lpmove File 14.38 KB 0755
lsmod File 194.31 KB 0755
lspcmcia File 22.59 KB 0755
make-ssl-cert File 6.65 KB 0755
mdflush-bpfcc File 2.24 KB 0755
mdflush.bt File 775 B 0755
memleak-bpfcc File 20.92 KB 0755
mii-tool File 26.81 KB 0755
mkdosfs File 54.9 KB 0755
mke2fs File 146.7 KB 0755
mkfs File 14.45 KB 0755
mkfs.btrfs File 852.66 KB 0755
mkfs.exfat File 30.46 KB 0755
mkfs.ext2 File 146.7 KB 0755
mkfs.ext3 File 146.7 KB 0755
mkfs.ext4 File 146.7 KB 0755
mkfs.fat File 54.9 KB 0755
mkfs.msdos File 54.9 KB 0755
mkfs.ntfs File 74.46 KB 0755
mkfs.vfat File 54.9 KB 0755
mkhomedir_helper File 22.41 KB 0755
mkinitramfs File 15.5 KB 0755
mklost+found File 14.38 KB 0755
mkntfs File 74.46 KB 0755
mkswap File 54.46 KB 0755
modinfo File 194.31 KB 0755
modprobe File 194.31 KB 0755
mount.fuse File 18.38 KB 0755
mount.fuse3 File 18.38 KB 0755
mount.lowntfs-3g File 131.05 KB 0755
mount.ntfs File 175.09 KB 4755
mount.ntfs-3g File 175.09 KB 4755
mountsnoop-bpfcc File 14.62 KB 0755
mysqld File 59.28 MB 0755
mysqld_qslower-bpfcc File 3.05 KB 0755
nameif File 14.47 KB 0755
naptime.bt File 1.01 KB 0755
netplan File 802 B 0755
netqtop-bpfcc File 5.59 KB 0755
newusers File 83.04 KB 0755
nfnl_osf File 18.38 KB 0755
nfsdist-bpfcc File 4.95 KB 0755
nfsslower-bpfcc File 13.61 KB 0755
nft File 26.3 KB 0755
nodegc-bpfcc File 52 B 0755
nodestat-bpfcc File 54 B 0755
nologin File 14.45 KB 0755
ntfsclone File 50.46 KB 0755
ntfscp File 34.45 KB 0755
ntfslabel File 22.45 KB 0755
ntfsresize File 66.47 KB 0755
ntfsundelete File 50.46 KB 0755
offcputime-bpfcc File 13.46 KB 0755
offwaketime-bpfcc File 15.31 KB 0755
on_ac_power File 2.45 KB 0755
oomkill-bpfcc File 2.04 KB 0755
oomkill.bt File 1.17 KB 0755
opensnoop-bpfcc File 14.24 KB 0755
opensnoop.bt File 953 B 0755
openvpn File 1.04 MB 0755
ownership File 14.52 KB 0755
pam-auth-update File 20.96 KB 0755
pam_extrausers_chkpwd File 30.38 KB 2755
pam_extrausers_update File 34.39 KB 0755
pam_getenv File 2.82 KB 0755
pam_namespace_helper File 467 B 0755
pam_timestamp_check File 14.38 KB 0755
paperconfig File 3.55 KB 0755
parted File 122.48 KB 0755
partprobe File 14.45 KB 0755
pccardctl File 22.59 KB 0755
perlcalls-bpfcc File 55 B 0755
perlflow-bpfcc File 54 B 0755
perlstat-bpfcc File 54 B 0755
phpcalls-bpfcc File 54 B 0755
phpdismod File 7.11 KB 0755
phpenmod File 7.11 KB 0755
phpflow-bpfcc File 53 B 0755
phpquery File 6.24 KB 0755
phpstat-bpfcc File 53 B 0755
pidpersec-bpfcc File 1.08 KB 0755
pidpersec.bt File 628 B 0755
pivot_root File 14.45 KB 0755
plipconfig File 14.38 KB 0755
plymouthd File 150.65 KB 0755
poweroff File 299 KB 0755
ppchcalls-bpfcc File 13.89 KB 0755
pppd File 494.71 KB 4754
pppdump File 18.38 KB 0755
pppoe-discovery File 30.37 KB 0755
pppstats File 18.37 KB 0755
pptp File 67.16 KB 0755
pptpsetup File 6.49 KB 0755
profile-bpfcc File 14.41 KB 0755
pwck File 58.45 KB 0755
pwconv File 50.32 KB 0755
pwhistory_helper File 22.38 KB 0755
pwunconv File 46.32 KB 0755
pythoncalls-bpfcc File 57 B 0755
pythonflow-bpfcc File 56 B 0755
pythongc-bpfcc File 54 B 0755
pythonstat-bpfcc File 56 B 0755
rarp File 36.41 KB 0755
rdmaucma-bpfcc File 4.95 KB 0755
readahead-bpfcc File 6.54 KB 0755
readprofile File 22.48 KB 0755
reboot File 299 KB 0755
remove-default-ispell File 2.86 KB 0755
remove-default-wordlist File 2.86 KB 0755
remove-shell File 1.08 KB 0755
reset-trace-bpfcc File 3.42 KB 0755
resize2fs File 70.38 KB 0755
resolvconf File 178.69 KB 0755
rfkill File 30.3 KB 0755
rmmod File 194.31 KB 0755
rmt File 62.76 KB 0755
rmt-tar File 62.76 KB 0755
route File 76.34 KB 0755
rsyslogd File 852.39 KB 0755
rtacct File 28.39 KB 0755
rtcwake File 34.45 KB 0755
rtkitctl File 14.38 KB 0755
rtmon File 134.59 KB 0755
rubycalls-bpfcc File 55 B 0755
rubyflow-bpfcc File 54 B 0755
rubygc-bpfcc File 52 B 0755
rubyobjnew-bpfcc File 56 B 0755
rubystat-bpfcc File 54 B 0755
runlevel File 299 KB 0755
runqlat-bpfcc File 9.3 KB 0755
runqlat.bt File 788 B 0755
runqlen-bpfcc File 8.05 KB 0755
runqlen.bt File 1.01 KB 0755
runqslower-bpfcc File 9.01 KB 0755
runuser File 54.45 KB 0755
saned File 82.88 KB 0755
select-default-ispell File 3.23 KB 0755
select-default-wordlist File 3.21 KB 0755
service File 8.99 KB 0755
setcap File 14.38 KB 0755
setuids.bt File 1.76 KB 0755
setvesablank File 14.45 KB 0755
setvtrgb File 14.51 KB 0755
sfdisk File 106.45 KB 0755
sgdisk File 178.56 KB 0755
shadowconfig File 2.22 KB 0755
shmsnoop-bpfcc File 7.8 KB 0755
shutdown File 299 KB 0755
slabratetop-bpfcc File 6.66 KB 0755
slattach File 40.16 KB 0755
sofdsnoop-bpfcc File 8.06 KB 0755
softirqs-bpfcc File 5.59 KB 0755
solisten-bpfcc File 5.96 KB 0755
spice-vdagentd File 58.9 KB 0755
split-logfile File 2.36 KB 0755
sshd File 458.96 KB 0755
ssllatency.bt File 2.12 KB 0755
sslsniff-bpfcc File 13.68 KB 0755
sslsnoop.bt File 2.03 KB 0755
sssd File 54.45 KB 0755
stackcount-bpfcc File 16.26 KB 0755
start-stop-daemon File 47.57 KB 0755
statsnoop-bpfcc File 4.92 KB 0755
statsnoop.bt File 1.26 KB 0755
sudo_logsrvd File 256.58 KB 0755
sudo_sendlog File 135.75 KB 0755
sulogin File 42.46 KB 0755
swapin.bt File 946 B 0755
swaplabel File 18.45 KB 0755
swapoff File 22.45 KB 0755
swapon File 46.45 KB 0755
switch_root File 22.45 KB 0755
syncsnoop-bpfcc File 1.27 KB 0755
syncsnoop.bt File 839 B 0755
syscount-bpfcc File 8.57 KB 0755
syscount.bt File 872 B 0755
sysctl File 30.46 KB 0755
tarcat File 936 B 0755
tc File 743.73 KB 0755
tclcalls-bpfcc File 54 B 0755
tclflow-bpfcc File 53 B 0755
tclobjnew-bpfcc File 55 B 0755
tclstat-bpfcc File 53 B 0755
tcpaccept-bpfcc File 9 KB 0755
tcpaccept.bt File 1.93 KB 0755
tcpcong-bpfcc File 20.11 KB 0755
tcpconnect-bpfcc File 18.46 KB 0755
tcpconnect.bt File 1.83 KB 0755
tcpconnlat-bpfcc File 9.07 KB 0755
tcpdrop-bpfcc File 8.1 KB 0755
tcpdrop.bt File 2.63 KB 0755
tcplife-bpfcc File 16.55 KB 0755
tcplife.bt File 2.93 KB 0755
tcpretrans-bpfcc File 13.77 KB 0755
tcpretrans.bt File 2.29 KB 0755
tcprtt-bpfcc File 8.7 KB 0755
tcpstates-bpfcc File 13.73 KB 0755
tcpsubnet-bpfcc File 7.63 KB 0755
tcpsynbl-bpfcc File 2.12 KB 0755
tcpsynbl.bt File 962 B 0755
tcptop-bpfcc File 12.64 KB 0755
tcptracer-bpfcc File 17.71 KB 0755
telinit File 299 KB 0755
thermald File 534.81 KB 0755
threadsnoop-bpfcc File 1.81 KB 0755
threadsnoop.bt File 752 B 0755
tipc File 98.59 KB 0755
tplist-bpfcc File 4.06 KB 0755
trace-bpfcc File 42.86 KB 0755
ttysnoop-bpfcc File 7.59 KB 0755
tune.exfat File 38.73 KB 0755
tune2fs File 114.64 KB 0755
u-d-c-print-pci-ids File 517 B 0755
ucalls File 11.69 KB 0755
uflow File 7.92 KB 0755
ufw File 4.84 KB 0755
ugc File 7.64 KB 0755
umount.udisks2 File 14.38 KB 0755
undump.bt File 789 B 0755
unix_chkpwd File 30.38 KB 2755
unix_update File 34.38 KB 0755
uobjnew File 6.04 KB 0755
update-ca-certificates File 5.32 KB 0755
update-catalog File 9.17 KB 0755
update-cracklib File 1.15 KB 0755
update-default-aspell File 1 KB 0755
update-default-ispell File 9.68 KB 0755
update-default-wordlist File 7.5 KB 0755
update-dictcommon-aspell File 1 KB 0755
update-dictcommon-hunspell File 782 B 0755
update-fonts-alias File 5.71 KB 0755
update-fonts-dir File 3.98 KB 0755
update-fonts-scale File 6.1 KB 0755
update-grub File 64 B 0755
update-grub2 File 64 B 0755
update-gsfontmap File 390 B 0755
update-icon-caches File 596 B 0755
update-ieee-data File 3.41 KB 0755
update-inetd File 5.83 KB 0755
update-info-dir File 1.66 KB 0755
update-initramfs File 7.57 KB 0755
update-locale File 3.02 KB 0755
update-passwd File 34.64 KB 0755
update-pciids File 2.12 KB 0755
update-rc.d File 17.72 KB 0755
update-secureboot-policy File 7.43 KB 0755
update-shells File 3.97 KB 0755
update-xmlcatalog File 16.88 KB 0755
usb_modeswitch File 59.74 KB 0755
usb_modeswitch_dispatcher File 26.78 KB 0755
usbmuxd File 94.75 KB 0755
useradd File 144.01 KB 0755
userdel File 91.16 KB 0755
usermod File 131.82 KB 0755
ustat File 12.12 KB 0755
uthreads File 4 KB 0755
uuidd File 30.95 KB 0755
validlocale File 1.73 KB 0755
vcstime File 14.37 KB 0755
vdpa File 38.64 KB 0755
vfscount-bpfcc File 1.36 KB 0755
vfscount.bt File 515 B 0755
vfsstat-bpfcc File 4.06 KB 0755
vfsstat.bt File 721 B 0755
vigr File 60.82 KB 0755
vipw File 60.82 KB 0755
virtiostat-bpfcc File 8.69 KB 0755
visudo File 260.95 KB 0755
vmcore-dmesg File 30.25 KB 0755
vpddecode File 14.66 KB 0755
vsftpd File 176.54 KB 0755
wakeuptime-bpfcc File 8.1 KB 0755
wipefs File 38.45 KB 0755
wpa_action File 1.69 KB 0755
wpa_cli File 148.39 KB 0755
wpa_supplicant File 3.96 MB 0755
wqlat-bpfcc File 4.95 KB 0755
writeback.bt File 1.66 KB 0755
xfsdist-bpfcc File 4.61 KB 0755
xfsdist.bt File 1012 B 0755
xfsslower-bpfcc File 7.78 KB 0755
xtables-legacy-multi File 105.02 KB 0755
xtables-monitor File 271.37 KB 0755
xtables-nft-multi File 271.37 KB 0755
zfsdist-bpfcc File 5.3 KB 0755
zfsslower-bpfcc File 8.45 KB 0755
zic File 66.47 KB 0755
zramctl File 58.59 KB 0755
Filemanager