Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Error with ja4tscan and zmap #6

Open
sundruid opened this issue Jun 17, 2024 · 8 comments
Open

Error with ja4tscan and zmap #6

sundruid opened this issue Jun 17, 2024 · 8 comments
Labels
bug Something isn't working

Comments

@sundruid
Copy link

Anyone receive this error:

sudo python3 ja4tscan.py -p 80 204.79.197.223
adding iptable rules...
zmap: invalid option -- 'I'
cleaning up iptable rules...

@sundruid
Copy link
Author

After some work on this.. There are quite a few libraries and apps that need installed to compile this. Here is a list that worked for me:

sudo apt-get install pkg-config libjson-c-dev libjudy-dev gengetopt flex byacc libgmp-dev libunistring-dev libpcap-dev

After that, I got a clean compile. But then an error when trying to test run:

sudo python3 ja4tscan.py -p 80 204.79.197.212
adding iptable rules...
zmap: unrecognized option '--blacklist-file=/etc/zmap/blacklist.conf'
cleaning up iptable rules...

But after grepping through the entire directory recursively, I cannot find '--blacklist-file' mentioned in any code. It appears that this option was changed to '--blocklist-file' and needs to be adjusted in order make it run. To this point, until I can figure out where that command is stored in the code, I can't make this code work.

Any help would be appreciated.

@john-althouse john-althouse added the bug Something isn't working label Jun 20, 2024
@noeltimothy
Copy link
Collaborator

Hi,
Can you let us know which version of zmap you are using?
We currently support zmap 4.1.0. You can run the build.sh file to checkout the right sources and build it.

@sundruid
Copy link
Author

sundruid commented Jun 21, 2024 via email

@noeltimothy
Copy link
Collaborator

Can you let us know what Operating System you are on?
Please give us the output of "uname -a"

@IanSmith123
Copy link

What's your Python version? This script uses f-strings which are only compatible with Python 3.6 or higher. Older versions of Python might not parse -I {} successfully.

@sundruid
Copy link
Author

sundruid commented Jul 3, 2024

python 3.12

Linux localhost 6.3.0-kali1-amd64 #1 SMP PREEMPT_DYNAMIC Debian 6.3.7-1kali1 (2023-06-29) x86_64 GNU/Linux

Also same errors on macOS

Darwin Kernel Version 22.6.0: Mon Feb 19 19:43:13 PST 2024; root:xnu-8796.141.3.704.6~1/RELEASE_ARM64_T6020 arm64

Be sure to read my errors above. It seems like you're just guessing. There is a problem with 'blacklist' being changed to 'blocklist' in zmap. Also the -I flag doesn't seem to be recognized either. I've uninstalled and reinstalled zmap and it is properly reading zmap (so it seems) in the app directory. It is installed when you run build.

ls
build.sh input ja4tscan.py LICENSE module_ja4tscan.c probe_modules.c README.md zmap

ryancmoon added a commit to ryancmoon/ja4tscan that referenced this issue Jul 10, 2024
Looks like there might be a regression from a fix introduced for issue FoxIO-LLC#6 , when I re-add ", const struct timespec ts)" to line 77, the cmake builds correctly. Without, it throws the same error mentioned in the initial issue publication.
@noeltimothy
Copy link
Collaborator

Hi @ryancmoon , if the update to probe_module.c has resolved this issue, can we close this out?

@sundruid
Copy link
Author

sundruid commented Jul 18, 2024

Still getting error:

sudo python3 ja4tscan.py -p 80 my_probe_list.txt
adding iptable rules...
zmap: unrecognized option '--blacklist-file=/etc/zmap/blacklist.conf'
cleaning up iptable rules...

Per my other email, it's looking for 'blocklist' not 'blacklist'

Here are the build.sh errors that come up:

build.sh
fetching zmap sources
Cloning into 'zmap'...
remote: Enumerating objects: 7750, done.
remote: Counting objects: 100% (1991/1991), done.
remote: Compressing objects: 100% (622/622), done.
remote: Total 7750 (delta 1719), reused 1439 (delta 1369), pack-reused 5759
Receiving objects: 100% (7750/7750), 6.38 MiB | 24.75 MiB/s, done.
Resolving deltas: 100% (5555/5555), done.
Note: switching to 'v4.1.0-RC1'.

You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by switching back to a branch.

If you want to create a new branch to retain commits you create, you may
do so (now or later) by using -c with the switch command. Example:

git switch -c

Or undo this operation with:

git switch -

Turn off this advice by setting config variable advice.detachedHead to false

HEAD is now at 4d4166e Output the progress once more when the whole scan process finished (#828)
HEAD detached at v4.1.0-RC1
nothing to commit, working tree clean
building using cmake...
CMake Warning:
No source or binary directory provided. Both will be assumed to be the
same as the current working directory, but note that this warning will
become a fatal error in future CMake releases.

CMake Deprecation Warning at CMakeLists.txt:1 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

-- The C compiler identification is GNU 13.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1")
-- Checking for module 'json-c'
-- Found json-c, version 0.17
-- Default ZMap configuration file location is /etc/zmap
-- Checking if blocklist.conf exists there...
CMake Warning at CMakeLists.txt:154 (message):
Existing configuration file detected at /etc/zmap/blocklist.conf,
blocklist.conf from sources will NOT be installed. Please check and
install manually!

-- Checking if zmap.conf exists there...
CMake Warning at CMakeLists.txt:154 (message):
Existing configuration file detected at /etc/zmap/zmap.conf, zmap.conf from
sources will NOT be installed. Please check and install manually!

-- Configuring done (0.4s)
-- Generating done (0.0s)
-- Build files have been written to: /root/ja4tscan/zmap
[ 1%] Building C object lib/CMakeFiles/zmaplib.dir/blocklist.c.o
[ 2%] Building C object lib/CMakeFiles/zmaplib.dir/cachehash.c.o
[ 3%] Building C object lib/CMakeFiles/zmaplib.dir/constraint.c.o
[ 4%] Building C object lib/CMakeFiles/zmaplib.dir/logger.c.o
[ 4%] Building C object lib/CMakeFiles/zmaplib.dir/pbm.c.o
[ 5%] Building C object lib/CMakeFiles/zmaplib.dir/random.c.o
[ 6%] Building C object lib/CMakeFiles/zmaplib.dir/rijndael-alg-fst.c.o
[ 7%] Building C object lib/CMakeFiles/zmaplib.dir/xalloc.c.o
[ 8%] Building C object lib/CMakeFiles/zmaplib.dir/lockfd.c.o
[ 9%] Building C object lib/CMakeFiles/zmaplib.dir/util.c.o
[ 9%] Building C object lib/CMakeFiles/zmaplib.dir/queue.c.o
[ 10%] Building C object lib/CMakeFiles/zmaplib.dir/csv.c.o
[ 11%] Building C object lib/CMakeFiles/zmaplib.dir/aes128.c.o
[ 12%] Linking C static library libzmaplib.a
[ 12%] Built target zmaplib
[ 12%] Built target git_versioning
[ 13%] Generating zopt.h
[ 14%] Generating lexer.c
[ 14%] Generating parser.c
[ 15%] Building C object src/CMakeFiles/zmap.dir/aesrand.c.o
[ 16%] Building C object src/CMakeFiles/zmap.dir/cyclic.c.o
[ 17%] Building C object src/CMakeFiles/zmap.dir/expression.c.o
[ 18%] Building C object src/CMakeFiles/zmap.dir/fieldset.c.o
[ 19%] Building C object src/CMakeFiles/zmap.dir/filter.c.o
[ 19%] Building C object src/CMakeFiles/zmap.dir/get_gateway.c.o
[ 20%] Building C object src/CMakeFiles/zmap.dir/iterator.c.o
[ 21%] Building C object src/CMakeFiles/zmap.dir/monitor.c.o
/root/ja4tscan/zmap/src/monitor.c: In function ‘export_then_update’:
/root/ja4tscan/zmap/src/monitor.c:208:70: warning: ‘%s’ directive output may be truncated writing up to 19 bytes into a region of size 18 [-Wformat-truncation=]
208 | snprintf(exp->time_remaining_str, NUMBER_STR_LEN, " (%s left)",
| ^~
209 | buf);
| ~~~
In file included from /usr/include/stdio.h:964,
from /root/ja4tscan/zmap/src/monitor.c:20:
In function ‘snprintf’,
inlined from ‘export_stats’ at /root/ja4tscan/zmap/src/monitor.c:208:3,
inlined from ‘export_then_update’ at /root/ja4tscan/zmap/src/monitor.c:470:3:
/usr/include/x86_64-linux-gnu/bits/stdio2.h:54:10: note: ‘__builtin___snprintf_chk’ output between 9 and 28 bytes into a destination of size 20
54 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1,
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 | __glibc_objsize (__s), __fmt,
| ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
56 | __va_arg_pack ());
| ~~~~~~~~~~~~~~~~~
[ 22%] Building C object src/CMakeFiles/zmap.dir/ports.c.o
[ 23%] Building C object src/CMakeFiles/zmap.dir/recv.c.o
[ 23%] Building C object src/CMakeFiles/zmap.dir/send.c.o
[ 24%] Building C object src/CMakeFiles/zmap.dir/shard.c.o
[ 25%] Building C object src/CMakeFiles/zmap.dir/socket.c.o
[ 26%] Building C object src/CMakeFiles/zmap.dir/state.c.o
[ 27%] Building C object src/CMakeFiles/zmap.dir/summary.c.o
[ 28%] Building C object src/CMakeFiles/zmap.dir/utility.c.o
[ 28%] Building C object src/CMakeFiles/zmap.dir/validate.c.o
[ 29%] Building C object src/CMakeFiles/zmap.dir/zmap.c.o
[ 30%] Building C object src/CMakeFiles/zmap.dir/zopt_compat.c.o
[ 31%] Building C object src/CMakeFiles/zmap.dir/lexer.c.o
[ 32%] Building C object src/CMakeFiles/zmap.dir/parser.c.o
/root/ja4tscan/zmap/src/parser.c:74:23: warning: redundant redeclaration of ‘yylex’ [-Wredundant-decls]
74 | # define YYLEX_DECL() yylex(void)
| ^~~~~
/root/ja4tscan/zmap/src/parser.c:79:5: note: in expansion of macro ‘YYLEX_DECL’
79 | int YYLEX_DECL();
| ^~~~~~~~~~
In file included from /root/ja4tscan/zmap/src/parser.y:5:
/root/ja4tscan/zmap/src/lexer.h:305:12: note: previous declaration of ‘yylex’ with type ‘int(void)’
305 | extern int yylex (void);
| ^~~~~
[ 33%] Building C object src/CMakeFiles/zmap.dir/probe_modules/module_ja4tscan.c.o
/root/ja4tscan/zmap/src/probe_modules/module_ja4tscan.c: In function ‘num_of_digits’:
/root/ja4tscan/zmap/src/probe_modules/module_ja4tscan.c:72:31: warning: cast from function call of type ‘double’ to non-matching type ‘int’ [-Wbad-function-cast]
72 | return ( n==0 ) ? 1 : (int) log10(n)+1;
| ^
/root/ja4tscan/zmap/src/probe_modules/module_ja4tscan.c: At top level:
/root/ja4tscan/zmap/src/probe_modules/module_ja4tscan.c:495:23: warning: initialization of ‘int (*)(void *, macaddr_t *, macaddr_t *, void )’ {aka ‘int ()(void *, unsigned char *, unsigned char *, void )’} from incompatible pointer type ‘int ()(void *, macaddr_t *, macaddr_t , void **)’ {aka ‘int ()(void *, unsigned char *, unsigned char , void **)’} [-Wincompatible-pointer-types]
495 | .prepare_packet = &ja4tscan_prepare_packet,
| ^
/root/ja4tscan/zmap/src/probe_modules/module_ja4tscan.c:495:23: note: (near initialization for ‘module_ja4tscan.prepare_packet’)
/root/ja4tscan/zmap/src/probe_modules/module_ja4tscan.c:496:20: warning: initialization of ‘int (
)(void *, size_t *, ipaddr_n_t, ipaddr_n_t, port_n_t, uint8_t, uint32_t *, int, uint16_t, void )’ {aka ‘int ()(void *, long unsigned int *, unsigned int, unsigned int, short unsigned int, unsigned char, unsigned int *, int, short unsigned int, void )’} from incompatible pointer type ‘int ()(void *, size_t *, ipaddr_n_t, ipaddr_n_t, port_n_t, uint8_t, uint32_t *, int, void )’ {aka ‘int ()(void *, long unsigned int *, unsigned int, unsigned int, short unsigned int, unsigned char, unsigned int *, int, void *)’} [-Wincompatible-pointer-types]
496 | .make_packet = &ja4tscan_make_packet,
| ^
/root/ja4tscan/zmap/src/probe_modules/module_ja4tscan.c:496:20: note: (near initialization for ‘module_ja4tscan.make_packet’)
/root/ja4tscan/zmap/src/probe_modules/module_ja4tscan.c: In function ‘ja4tscan_process_packet’:
/root/ja4tscan/zmap/src/probe_modules/module_ja4tscan.c:424:25: warning: ‘__builtin_strncat’ specified bound depends on the length of the source argument [-Wstringop-overflow=]
424 | strncat(timedata->options, option_kind_str, strlen(option_kind_str));
| ^
/root/ja4tscan/zmap/src/probe_modules/module_ja4tscan.c:424:25: note: length computed here
424 | strncat(timedata->options, option_kind_str, strlen(option_kind_str));
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
[ 33%] Building C object src/CMakeFiles/zmap.dir/probe_modules/module_icmp_echo.c.o
[ 34%] Building C object src/CMakeFiles/zmap.dir/probe_modules/module_icmp_echo_time.c.o
[ 35%] Building C object src/CMakeFiles/zmap.dir/probe_modules/module_tcp_synscan.c.o
[ 36%] Building C object src/CMakeFiles/zmap.dir/probe_modules/module_tcp_synackscan.c.o
[ 37%] Building C object src/CMakeFiles/zmap.dir/probe_modules/module_udp.c.o
[ 38%] Building C object src/CMakeFiles/zmap.dir/probe_modules/module_ipip.c.o
[ 38%] Building C object src/CMakeFiles/zmap.dir/probe_modules/packet.c.o
[ 39%] Building C object src/CMakeFiles/zmap.dir/probe_modules/probe_modules.c.o
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:7:1: error: expected identifier or ‘(’ before ‘<’ token
7 |
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:40:570: error: expected identifier or ‘(’ before ‘<’ token
40 | arketing_pages_search_explore_provider","react_start_transition_for_navigations","remove_child_patch","sample_network_conn_type","turbo_experiment_risky"]}</script>
| ^

/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:255:168: error: expected identifier or ‘(’ before ‘<’ token
255 | pe="application/json" data-target="react-partial.embeddedData">{"props":{"docsUrl":"https://docs.github.com/get-started/accessibility/keyboard-shortcuts"}}</script>
| ^

/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:540:1: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘<’ token
540 |
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:852:16: warning: missing terminating ' character
852 |


| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:852:16: error: missing terminating ' character
852 |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:875:280: warning: missing terminating " character
875 | ombobox" spellcheck="false" aria-expanded="false" aria-describedby="validation-edb09768-b3de-4560-8f11-6b5a381c14d4" data-target="query-builder.input" data-action="
| ^

/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:875:280: error: missing terminating " character
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:876:30: error: stray ‘#’ in program
876 | input:query-builder#inputChange
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:877:29: error: stray ‘#’ in program
877 | blur:query-builder#inputBlur
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:878:32: error: stray ‘#’ in program
878 | keydown:query-builder#inputKeydown
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:879:30: error: stray ‘#’ in program
879 | focus:query-builder#inputFocus
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:880:100: warning: missing terminating " character
880 | " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" />
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:880:100: error: missing terminating " character
880 | " data-view-component="true" class="FormControl-input QueryBuilder-Input FormControl-medium" />
| ^~~~
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:884:190: warning: missing terminating " character
884 | tton" id="query-builder-test-clear-button" aria-labelledby="query-builder-test-clear query-builder-test-label" data-target="query-builder.clearButton" data-action="
| ^

/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:884:190: error: missing terminating " character
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:885:36: error: stray ‘#’ in program
885 | click:query-builder#clear
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:886:36: error: stray ‘#’ in program
886 | focus:query-builder#clearButtonFocus
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:887:35: error: stray ‘#’ in program
887 | blur:query-builder#clearButtonBlur
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:888:380: warning: missing terminating " character
888 | ">
| ^

/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:888:380: error: missing terminating " character
888 | ">
| ^~

/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1103:31: warning: missing terminating " character
1103 | data-action="
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1103:31: error: missing terminating " character
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1104:50: error: stray ‘#’ in program
1104 | combobox-commit:query-builder#comboboxCommit
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1105:44: error: stray ‘#’ in program
1105 | mousedown:query-builder#resultsMousedown
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1106:19: warning: missing terminating " character
1106 | "
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1106:19: error: missing terminating " character
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1155:75: warning: missing terminating ' character
1155 |


| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1155:75: error: missing terminating ' character
1155 |

| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1193:14: warning: missing terminating ' character
1193 |
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1193:14: error: missing terminating ' character
1193 |
| ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1320:25: error: expected identifier or ‘(’ before ‘<’ token
1320 |
{{ message }}

| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1673: error: expected identifier or ‘(’ before ‘<’ token
1673 | <script type="application/json" data-target="react-app.embeddedData">{"payload":{"allShortcutsEnabled":false,"fileTree":{"":{"items":[{"name":"LICENSE","path":"LICENSE","contentType":"file"},{"name":"README.md","path":"README.md","contentType":"file"},{"name":"build.sh","path":"build.sh","contentType":"file"},{"name":"ja4tscan.py","path":"ja4tscan.py","contentType":"file"},{"name":"module_ja4tscan.c","path":"module_ja4tscan.c","contentType":"file"},{"name":"probe_modules.c","path":"probe_modules.c","contentType":"file"}],"totalCount":6}},"fileTreeProcessingTime":1.73323,"foldersToFetch":[],"repo":{"id":761983689,"defaultBranch":"main","name":"ja4tscan","ownerLogin":"FoxIO-LLC","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2024-02-22T21:22:19.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/107433376?v=4","public":true,"private":false,"isOrgOwned":true},"codeLineWrapEnabled":false,"symbolsExpanded":false,"treeExpanded":true,"refInfo":{"name":"main","listCacheKey":"v0:1713536254.0","canEdit":false,"refType":"branch","currentOid":"42a62cbeecb3552859f470f827d8d723f4413c4b"},"path":"probe_modules.c","currentUser":null,"blob":{"rawLines":["/*"," * ZMap Copyright 2013 Regents of the University of Michigan"," *"," * Licensed under the Apache License, Version 2.0 (the "License"); you may not"," * use this file except in compliance with the License. You may obtain a copy"," * of the License at http://www.apache.org/licenses/LICENSE-2.0"," */","","#include \u003cstdio.h\u003e","#include \u003cstring.h\u003e","#include \u003cassert.h\u003e","#include \u003ctime.h\u003e","#include \u003csys/time.h\u003e","","#include "../../lib/includes.h"","#include "../../lib/logger.h"","#include "../../lib/xalloc.h"","#include "../fieldset.h"","#include "probe_modules.h"","#include "packet.h"","","extern probe_module_t module_tcp_synscan;","extern probe_module_t module_tcp_synackscan;","extern probe_module_t module_icmp_echo;","extern probe_module_t module_icmp_echo_time;","extern probe_module_t module_udp;","extern probe_module_t module_ntp;","extern probe_module_t module_upnp;","extern probe_module_t module_dns;","extern probe_module_t module_bacnet;","extern probe_module_t module_ja4tscan;","// ADD YOUR MODULE HERE","","probe_module_t *probe_modules[] = {"," \u0026module_tcp_synscan, \u0026module_tcp_synackscan,"," \u0026module_icmp_echo,\t \u0026module_icmp_echo_time,"," \u0026module_udp,\t \u0026module_ntp,"," \u0026module_upnp,\t \u0026module_dns,"," \u0026module_bacnet,\t \u0026module_ja4tscan,"," // ADD YOUR MODULE HERE","};","","probe_module_t *get_probe_module_by_name(const char *name)","{","\tint len = (int)(sizeof(probe_modules) / sizeof(probe_modules[0]));","\tfor (int i = 0; i \u003c len; i++) {","\t\tif (!strcmp(probe_modules[i]-\u003ename, name)) {","\t\t\treturn probe_modules[i];","\t\t}","\t}","\treturn NULL;","}","","void print_probe_modules(void)","{","\tint len = (int)(sizeof(probe_modules) / sizeof(probe_modules[0]));","\tfor (int i = 0; i \u003c len; i++) {","\t\tprintf("%s\n", probe_modules[i]-\u003ename);","\t}","}","","void fs_add_ip_fields(fieldset_t *fs, struct ip *ip)","{","\t// WARNING: you must update fs_ip_fields_len as well","\t// as the definitions set (ip_fiels) if you","\t// change the fields added below:","\tfs_add_string(fs, "saddr", make_ip_str(ip-\u003eip_src.s_addr), 1);","\tfs_add_uint64(fs, "saddr_raw", (uint64_t)ip-\u003eip_src.s_addr);","\tfs_add_string(fs, "daddr", make_ip_str(ip-\u003eip_dst.s_addr), 1);","\tfs_add_uint64(fs, "daddr_raw", (uint64_t)ip-\u003eip_dst.s_addr);","\tfs_add_uint64(fs, "ipid", ntohs(ip-\u003eip_id));","\tfs_add_uint64(fs, "ttl", ip-\u003eip_ttl);","}","","#define TIMESTR_LEN 55","","void fs_add_system_fields(fieldset_t *fs, int is_repeat, int in_cooldown, const struct timespec ts)","{"," fs_add_bool(fs, "repeat", is_repeat);"," fs_add_bool(fs, "cooldown", in_cooldown);",""," char *timestr = xmalloc(TIMESTR_LEN + 1);"," char *timestr_ms = xmalloc(TIMESTR_LEN + 1);"," struct timeval t;"," gettimeofday(\u0026t, NULL);"," struct tm *ptm = localtime(\u0026t.tv_sec);"," strftime(timestr, TIMESTR_LEN, "%Y-%m-%dT%H:%M:%S.%%03d%z", ptm);"," snprintf(timestr_ms, TIMESTR_LEN, timestr, t.tv_usec / 1000);"," free(timestr);"," fs_add_string(fs, "timestamp_str", timestr_ms, 1);"," fs_add_uint64(fs, "timestamp_ts", (uint64_t)t.tv_sec);"," fs_add_uint64(fs, "timestamp_us", (uint64_t)t.tv_usec);","}","","int ip_fields_len = 6;","fielddef_t ip_fields[] = {"," {.name = "saddr","," .type = "string","," .desc = "source IP address of response"},"," {.name = "saddr_raw","," .type = "int","," .desc = "network order integer form of source IP address"},"," {.name = "daddr","," .type = "string","," .desc = "destination IP address of response"},"," {.name = "daddr_raw","," .type = "int","," .desc = "network order integer form of destination IP address"},"," {.name = "ipid","," .type = "int","," .desc = "IP identification number of response"},"," {.name = "ttl", .type = "int", .desc = "time-to-live of response packet"}};","","int sys_fields_len = 5;","fielddef_t sys_fields[] = {"," {.name = "repeat","," .type = "bool","," .desc = "Is response a repeat response from host"},"," {.name = "cooldown","," .type = "bool","," .desc = "Was response received during the cooldown period"},"," {.name = "timestamp_str","," .type = "string","," .desc = "timestamp of when response arrived in ISO8601 format."},"," {.name = "timestamp_ts","," .type = "int","," .desc = "timestamp of when response arrived in seconds since Epoch"},"," {.name = "timestamp_us","," .type = "int","," .desc =","\t "microsecond part of timestamp (e.g. microseconds since 'timestamp-ts')"}};"],"stylingDirectives":[[{"s":0,"e":2,"c":"pl-c"}],[{"s":0,"e":60,"c":"pl-c"}],[{"s":0,"e":2,"c":"pl-c"}],[{"s":0,"e":78,"c":"pl-c"}],[{"s":0,"e":77,"c":"pl-c"}],[{"s":0,"e":63,"c":"pl-c"}],[{"s":0,"e":3,"c":"pl-c"}],[],[{"s":0,"e":8,"c":"pl-k"},{"s":9,"e":18,"c":"pl-s"}],[{"s":0,"e":8,"c":"pl-k"},{"s":9,"e":19,"c":"pl-s"}],[{"s":0,"e":8,"c":"pl-k"},{"s":9,"e":19,"c":"pl-s"}],[{"s":0,"e":8,"c":"pl-k"},{"s":9,"e":17,"c":"pl-s"}],[{"s":0,"e":8,"c":"pl-k"},{"s":9,"e":21,"c":"pl-s"}],[],[{"s":0,"e":8,"c":"pl-k"},{"s":9,"e":31,"c":"pl-s"}],[{"s":0,"e":8,"c":"pl-k"},{"s":9,"e":29,"c":"pl-s"}],[{"s":0,"e":8,"c":"pl-k"},{"s":9,"e":29,"c":"pl-s"}],[{"s":0,"e":8,"c":"pl-k"},{"s":9,"e":24,"c":"pl-s"}],[{"s":0,"e":8,"c":"pl-k"},{"s":9,"e":26,"c":"pl-s"}],[{"s":0,"e":8,"c":"pl-k"},{"s":9,"e":19,"c":"pl-s"}],[],[{"s":0,"e":6,"c":"pl-k"},{"s":7,"e":21,"c":"pl-smi"},{"s":22,"e":40,"c":"pl-s1"}],[{"s":0,"e":6,"c":"pl-k"},{"s":7,"e":21,"c":"pl-smi"},{"s":22,"e":43,"c":"pl-s1"}],[{"s":0,"e":6,"c":"pl-k"},{"s":7,"e":21,"c":"pl-smi"},{"s":22,"e":38,"c":"pl-s1"}],[{"s":0,"e":6,"c":"pl-k"},{"s":7,"e":21,"c":"pl-smi"},{"s":22,"e":43,"c":"pl-s1"}],[{"s":0,"e":6,"c":"pl-k"},{"s":7,"e":21,"c":"pl-smi"},{"s":22,"e":32,"c":"pl-s1"}],[{"s":0,"e":6,"c":"pl-k"},{"s":7,"e":21,"c":"pl-smi"},{"s":22,"e":32,"c":"pl-s1"}],[{"s":0,"e":6,"c":"pl-k"},{"s":7,"e":21,"c":"pl-smi"},{"s":22,"e":33,"c":"pl-s1"}],[{"s":0,"e":6,"c":"pl-k"},{"s":7,"e":21,"c":"pl-smi"},{"s":22,"e":32,"c":"pl-s1"}],[{"s":0,"e":6,"c":"pl-k"},{"s":7,"e":21,"c":"pl-smi"},{"s":22,"e":35,"c":"pl-s1"}],[{"s":0,"e":6,"c":"pl-k"},{"s":7,"e":21,"c":"pl-smi"},{"s":22,"e":37,"c":"pl-s1"}],[{"s":0,"e":23,"c":"pl-c"}],[],[{"s":0,"e":14,"c":"pl-smi"},{"s":15,"e":16,"c":"pl-c1"},{"s":16,"e":29,"c":"pl-s1"},{"s":32,"e":33,"c":"pl-c1"}],[{"s":4,"e":5,"c":"pl-c1"},{"s":5,"e":23,"c":"pl-s1"},{"s":25,"e":26,"c":"pl-c1"},{"s":26,"e":47,"c":"pl-s1"}],[{"s":4,"e":5,"c":"pl-c1"},{"s":5,"e":21,"c":"pl-s1"},{"s":24,"e":25,"c":"pl-c1"},{"s":25,"e":46,"c":"pl-s1"}],[{"s":4,"e":5,"c":"pl-c1"},{"s":5,"e":15,"c":"pl-s1"},{"s":18,"e":19,"c":"pl-c1"},{"s":19,"e":29,"c":"pl-s1"}],[{"s":4,"e":5,"c":"pl-c1"},{"s":5,"e":16,"c":"pl-s1"},{"s":19,"e":20,"c":"pl-c1"},{"s":20,"e":30,"c":"pl-s1"}],[{"s":4,"e":5,"c":"pl-c1"},{"s":5,"e":18,"c":"pl-s1"},{"s":21,"e":22,"c":"pl-c1"},{"s":22,"e":37,"c":"pl-s1"}],[{"s":4,"e":27,"c":"pl-c"}],[],[],[{"s":0,"e":14,"c":"pl-smi"},{"s":15,"e":16,"c":"pl-c1"},{"s":16,"e":40,"c":"pl-en"},{"s":41,"e":46,"c":"pl-k"},{"s":47,"e":51,"c":"pl-smi"},{"s":52,"e":53,"c":"pl-c1"},{"s":53,"e":57,"c":"pl-s1"}],[],[{"s":1,"e":4,"c":"pl-smi"},{"s":5,"e":8,"c":"pl-s1"},{"s":9,"e":10,"c":"pl-c1"},{"s":12,"e":15,"c":"pl-smi"},{"s":17,"e":23,"c":"pl-k"},{"s":24,"e":37,"c":"pl-smi"},{"s":41,"e":47,"c":"pl-k"},{"s":48,"e":61,"c":"pl-s1"},{"s":62,"e":63,"c":"pl-c1"}],[{"s":1,"e":4,"c":"pl-k"},{"s":6,"e":9,"c":"pl-smi"},{"s":10,"e":11,"c":"pl-s1"},{"s":12,"e":13,"c":"pl-c1"},{"s":14,"e":15,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-s1"},{"s":19,"e":20,"c":"pl-c1"},{"s":21,"e":24,"c":"pl-s1"},{"s":26,"e":27,"c":"pl-s1"},{"s":27,"e":29,"c":"pl-c1"}],[{"s":2,"e":4,"c":"pl-k"},{"s":7,"e":13,"c":"pl-en"},{"s":14,"e":27,"c":"pl-s1"},{"s":28,"e":29,"c":"pl-s1"},{"s":30,"e":32,"c":"pl-c1"},{"s":32,"e":36,"c":"pl-c1"},{"s":38,"e":42,"c":"pl-s1"}],[{"s":3,"e":9,"c":"pl-k"},{"s":10,"e":23,"c":"pl-s1"},{"s":24,"e":25,"c":"pl-s1"}],[],[],[{"s":1,"e":7,"c":"pl-k"},{"s":8,"e":12,"c":"pl-c1"}],[],[],[{"s":0,"e":4,"c":"pl-smi"},{"s":5,"e":24,"c":"pl-en"},{"s":25,"e":29,"c":"pl-smi"}],[],[{"s":1,"e":4,"c":"pl-smi"},{"s":5,"e":8,"c":"pl-s1"},{"s":9,"e":10,"c":"pl-c1"},{"s":12,"e":15,"c":"pl-smi"},{"s":17,"e":23,"c":"pl-k"},{"s":24,"e":37,"c":"pl-smi"},{"s":41,"e":47,"c":"pl-k"},{"s":48,"e":61,"c":"pl-s1"},{"s":62,"e":63,"c":"pl-c1"}],[{"s":1,"e":4,"c":"pl-k"},{"s":6,"e":9,"c":"pl-smi"},{"s":10,"e":11,"c":"pl-s1"},{"s":12,"e":13,"c":"pl-c1"},{"s":14,"e":15,"c":"pl-c1"},{"s":17,"e":18,"c":"pl-s1"},{"s":19,"e":20,"c":"pl-c1"},{"s":21,"e":24,"c":"pl-s1"},{"s":26,"e":27,"c":"pl-s1"},{"s":27,"e":29,"c":"pl-c1"}],[{"s":2,"e":8,"c":"pl-en"},{"s":9,"e":15,"c":"pl-s"},{"s":17,"e":30,"c":"pl-s1"},{"s":31,"e":32,"c":"pl-s1"},{"s":33,"e":35,"c":"pl-c1"},{"s":35,"e":39,"c":"pl-c1"}],[],[],[],[{"s":0,"e":4,"c":"pl-smi"},{"s":5,"e":21,"c":"pl-en"},{"s":22,"e":32,"c":"pl-smi"},{"s":33,"e":34,"c":"pl-c1"},{"s":34,"e":36,"c":"pl-s1"},{"s":38,"e":44,"c":"pl-k"},{"s":45,"e":47,"c":"pl-smi"},{"s":48,"e":49,"c":"pl-c1"},{"s":49,"e":51,"c":"pl-s1"}],[],[{"s":1,"e":54,"c":"pl-c"}],[{"s":1,"e":44,"c":"pl-c"}],[{"s":1,"e":34,"c":"pl-c"}],[{"s":1,"e":14,"c":"pl-en"},{"s":15,"e":17,"c":"pl-s1"},{"s":19,"e":26,"c":"pl-s"},{"s":28,"e":39,"c":"pl-en"},{"s":40,"e":42,"c":"pl-s1"},{"s":42,"e":44,"c":"pl-c1"},{"s":44,"e":50,"c":"pl-c1"},{"s":51,"e":57,"c":"pl-c1"},{"s":60,"e":61,"c":"pl-c1"}],[{"s":1,"e":14,"c":"pl-en"},{"s":15,"e":17,"c":"pl-s1"},{"s":19,"e":30,"c":"pl-s"},{"s":33,"e":41,"c":"pl-smi"},{"s":42,"e":44,"c":"pl-s1"},{"s":44,"e":46,"c":"pl-c1"},{"s":46,"e":52,"c":"pl-c1"},{"s":53,"e":59,"c":"pl-c1"}],[{"s":1,"e":14,"c":"pl-en"},{"s":15,"e":17,"c":"pl-s1"},{"s":19,"e":26,"c":"pl-s"},{"s":28,"e":39,"c":"pl-en"},{"s":40,"e":42,"c":"pl-s1"},{"s":42,"e":44,"c":"pl-c1"},{"s":44,"e":50,"c":"pl-c1"},{"s":51,"e":57,"c":"pl-c1"},{"s":60,"e":61,"c":"pl-c1"}],[{"s":1,"e":14,"c":"pl-en"},{"s":15,"e":17,"c":"pl-s1"},{"s":19,"e":30,"c":"pl-s"},{"s":33,"e":41,"c":"pl-smi"},{"s":42,"e":44,"c":"pl-s1"},{"s":44,"e":46,"c":"pl-c1"},{"s":46,"e":52,"c":"pl-c1"},{"s":53,"e":59,"c":"pl-c1"}],[{"s":1,"e":14,"c":"pl-en"},{"s":15,"e":17,"c":"pl-s1"},{"s":19,"e":25,"c":"pl-s"},{"s":27,"e":32,"c":"pl-en"},{"s":33,"e":35,"c":"pl-s1"},{"s":35,"e":37,"c":"pl-c1"},{"s":37,"e":42,"c":"pl-c1"}],[{"s":1,"e":14,"c":"pl-en"},{"s":15,"e":17,"c":"pl-s1"},{"s":19,"e":24,"c":"pl-s"},{"s":26,"e":28,"c":"pl-s1"},{"s":28,"e":30,"c":"pl-c1"},{"s":30,"e":36,"c":"pl-c1"}],[],[],[{"s":0,"e":7,"c":"pl-k"},{"s":8,"e":19,"c":"pl-c1"}],[],[{"s":0,"e":4,"c":"pl-smi"},{"s":5,"e":25,"c":"pl-en"},{"s":26,"e":36,"c":"pl-smi"},{"s":37,"e":38,"c":"pl-c1"},{"s":38,"e":40,"c":"pl-s1"},{"s":42,"e":45,"c":"pl-smi"},{"s":46,"e":55,"c":"pl-s1"},{"s":57,"e":60,"c":"pl-smi"},{"s":61,"e":72,"c":"pl-s1"},{"s":74,"e":79,"c":"pl-k"},{"s":80,"e":86,"c":"pl-k"},{"s":87,"e":95,"c":"pl-smi"},{"s":96,"e":98,"c":"pl-s1"}],[],[{"s":8,"e":19,"c":"pl-en"},{"s":20,"e":22,"c":"pl-s1"},{"s":24,"e":32,"c":"pl-s"},{"s":34,"e":43,"c":"pl-s1"}],[{"s":8,"e":19,"c":"pl-en"},{"s":20,"e":22,"c":"pl-s1"},{"s":24,"e":34,"c":"pl-s"},{"s":36,"e":47,"c":"pl-s1"}],[],[{"s":8,"e":12,"c":"pl-smi"},{"s":13,"e":14,"c":"pl-c1"},{"s":14,"e":21,"c":"pl-s1"},{"s":22,"e":23,"c":"pl-c1"},{"s":24,"e":31,"c":"pl-en"},{"s":32,"e":43,"c":"pl-c1"},{"s":44,"e":45,"c":"pl-c1"},{"s":46,"e":47,"c":"pl-c1"}],[{"s":8,"e":12,"c":"pl-smi"},{"s":13,"e":14,"c":"pl-c1"},{"s":14,"e":24,"c":"pl-s1"},{"s":25,"e":26,"c":"pl-c1"},{"s":27,"e":34,"c":"pl-en"},{"s":35,"e":46,"c":"pl-c1"},{"s":47,"e":48,"c":"pl-c1"},{"s":49,"e":50,"c":"pl-c1"}],[{"s":8,"e":14,"c":"pl-k"},{"s":15,"e":22,"c":"pl-smi"},{"s":23,"e":24,"c":"pl-s1"}],[{"s":8,"e":20,"c":"pl-en"},{"s":21,"e":22,"c":"pl-c1"},{"s":22,"e":23,"c":"pl-s1"},{"s":25,"e":29,"c":"pl-c1"}],[{"s":8,"e":14,"c":"pl-k"},{"s":15,"e":17,"c":"pl-smi"},{"s":18,"e":19,"c":"pl-c1"},{"s":19,"e":22,"c":"pl-s1"},{"s":23,"e":24,"c":"pl-c1"},{"s":25,"e":34,"c":"pl-en"},{"s":35,"e":36,"c":"pl-c1"},{"s":36,"e":37,"c":"pl-s1"},{"s":38,"e":44,"c":"pl-c1"}],[{"s":8,"e":16,"c":"pl-en"},{"s":17,"e":24,"c":"pl-s1"},{"s":26,"e":37,"c":"pl-c1"},{"s":39,"e":66,"c":"pl-s"},{"s":68,"e":71,"c":"pl-s1"}],[{"s":8,"e":16,"c":"pl-en"},{"s":17,"e":27,"c":"pl-s1"},{"s":29,"e":40,"c":"pl-c1"},{"s":42,"e":49,"c":"pl-s1"},{"s":51,"e":52,"c":"pl-s1"},{"s":53,"e":60,"c":"pl-c1"},{"s":63,"e":67,"c":"pl-c1"}],[{"s":8,"e":12,"c":"pl-en"},{"s":13,"e":20,"c":"pl-s1"}],[{"s":8,"e":21,"c":"pl-en"},{"s":22,"e":24,"c":"pl-s1"},{"s":26,"e":41,"c":"pl-s"},{"s":43,"e":53,"c":"pl-s1"},{"s":55,"e":56,"c":"pl-c1"}],[{"s":8,"e":21,"c":"pl-en"},{"s":22,"e":24,"c":"pl-s1"},{"s":26,"e":40,"c":"pl-s"},{"s":43,"e":51,"c":"pl-smi"},{"s":52,"e":53,"c":"pl-s1"},{"s":54,"e":60,"c":"pl-c1"}],[{"s":8,"e":21,"c":"pl-en"},{"s":22,"e":24,"c":"pl-s1"},{"s":26,"e":40,"c":"pl-s"},{"s":43,"e":51,"c":"pl-smi"},{"s":52,"e":53,"c":"pl-s1"},{"s":54,"e":61,"c":"pl-c1"}],[],[],[{"s":0,"e":3,"c":"pl-smi"},{"s":4,"e":17,"c":"pl-s1"},{"s":18,"e":19,"c":"pl-c1"},{"s":20,"e":21,"c":"pl-c1"}],[{"s":0,"e":10,"c":"pl-smi"},{"s":11,"e":20,"c":"pl-s1"},{"s":23,"e":24,"c":"pl-c1"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":20,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":21,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":44,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":24,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":18,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":62,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":20,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":21,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":49,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":24,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":18,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":67,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":19,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":18,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":51,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":18,"c":"pl-s"},{"s":21,"e":25,"c":"pl-c1"},{"s":26,"e":27,"c":"pl-c1"},{"s":28,"e":33,"c":"pl-s"},{"s":36,"e":40,"c":"pl-c1"},{"s":41,"e":42,"c":"pl-c1"},{"s":43,"e":76,"c":"pl-s"}],[],[{"s":0,"e":3,"c":"pl-smi"},{"s":4,"e":18,"c":"pl-s1"},{"s":19,"e":20,"c":"pl-c1"},{"s":21,"e":22,"c":"pl-c1"}],[{"s":0,"e":10,"c":"pl-smi"},{"s":11,"e":21,"c":"pl-s1"},{"s":24,"e":25,"c":"pl-c1"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":21,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":19,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":54,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":23,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":19,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":63,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":28,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":21,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":68,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":27,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":18,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":72,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":27,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"},{"s":13,"e":18,"c":"pl-s"}],[{"s":6,"e":10,"c":"pl-c1"},{"s":11,"e":12,"c":"pl-c1"}],[{"s":2,"e":74,"c":"pl-s"}]],"colorizedLines":null,"csv":null,"csvError":null,"dependabotInfo":{"showConfigurationBanner":false,"configFilePath":null,"networkDependabotPath":"/FoxIO-LLC/ja4tscan/network/updates","dismissConfigurationNoticePath":"/settings/dismiss-notice/dependabot_configuration_notice","configurationNoticeDismissed":null},"displayName":"probe_modules.c","displayUrl":"https://github.com/FoxIO-LLC/ja4tscan/blob/main/probe_modules.c?raw=true","headerInfo":{"blobSize":"4.19 KB","deleteTooltip":"You must be signed in to make or propose changes","editTooltip":"You must be signed in to make or propose changes","ghDesktopPath":"https://desktop.github.com","isGitLfs":false,"onBranch":true,"shortPath":"d967f88","siteNavLoginPath":"/login?return_to=https%3A%2F%2Fgithub.com%2FFoxIO-LLC%2Fja4tscan%2Fblob%2Fmain%2Fprobe_modules.c","isCSV":false,"isRichtext":false,"toc":null,"lineInfo":{"truncatedLoc":"131","truncatedSloc":"119"},"mode":"file"},"image":false,"isCodeownersFile":null,"isPlain":false,"isValidLegacyIssueTemplate":false,"issueTemplate":null,"discussionTemplate":null,"language":"C","languageID":41,"large":false,"planSupportInfo":{"repoIsFork":null,"repoOwnedByCurrentUser":null,"requestFullPath":"/FoxIO-LLC/ja4tscan/blob/main/probe_modules.c","showFreeOrgGatedFeatureMessage":null,"showPlanSupportBanner":null,"upgradeDataAttributes":null,"upgradePath":null},"publishBannersInfo":{"dismissActionNoticePath":"/settings/dismiss-notice/publish_action_from_dockerfile","releasePath":"/FoxIO-LLC/ja4tscan/releases/new?marketplace=true","showPublishActionBanner":false},"rawBlobUrl":"https://github.com/FoxIO-LLC/ja4tscan/raw/main/probe_modules.c","renderImageOrRaw":false,"richText":null,"renderedFileInfo":null,"shortPath":null,"symbolsEnabled":true,"tabSize":8,"topBannersInfo":{"overridingGlobalFundingFile":false,"globalPreferredFundingPath":null,"showInvalidCitationWarning":false,"citationHelpUrl":"https://docs.github.com/github/creating-cloning-and-archiving-repositories/creating-a-repository-on-github/about-citation-files","actionsOnboardingTip":null},"truncated":false,"viewable":true,"workflowRedirectUrl":null,"symbols":{"timed_out":false,"not_analyzed":false,"symbols":[{"name":"get_probe_module_by_name","kind":"function","ident_start":1251,"ident_end":1275,"extent_start":1251,"extent_end":1293,"fully_qualified_name":"get_probe_module_by_name","ident_utf16":{"start":{"line_number":42,"utf16_col":16},"end":{"line_number":42,"utf16_col":40}},"extent_utf16":{"start":{"line_number":42,"utf16_col":16},"end":{"line_number":42,"utf16_col":58}}},{"name":"print_probe_modules","kind":"function","ident_start":1501,"ident_end":1520,"extent_start":1501,"extent_end":1526,"fully_qualified_name":"print_probe_modules","ident_utf16":{"start":{"line_number":53,"utf16_col":5},"end":{"line_number":53,"utf16_col":24}},"extent_utf16":{"start":{"line_number":53,"utf16_col":5},"end":{"line_number":53,"utf16_col":30}}},{"name":"fs_add_ip_fields","kind":"function","ident_start":1683,"ident_end":1699,"extent_start":1683,"extent_end":1730,"fully_qualified_name":"fs_add_ip_fields","ident_utf16":{"start":{"line_number":61,"utf16_col":5},"end":{"line_number":61,"utf16_col":21}},"extent_utf16":{"start":{"line_number":61,"utf16_col":5},"end":{"line_number":61,"utf16_col":52}}},{"name":"TIMESTR_LEN","kind":"macro","ident_start":2216,"ident_end":2227,"extent_start":2208,"extent_end":2232,"fully_qualified_name":"TIMESTR_LEN","ident_utf16":{"start":{"line_number":74,"utf16_col":8},"end":{"line_number":74,"utf16_col":19}},"extent_utf16":{"start":{"line_number":74,"utf16_col":0},"end":{"line_number":76,"utf16_col":0}}},{"name":"fs_add_system_fields","kind":"function","ident_start":2237,"ident_end":2257,"extent_start":2237,"extent_end":2331,"fully_qualified_name":"fs_add_system_fields","ident_utf16":{"start":{"line_number":76,"utf16_col":5},"end":{"line_number":76,"utf16_col":25}},"extent_utf16":{"start":{"line_number":76,"utf16_col":5},"end":{"line_number":76,"utf16_col":99}}}]}},"copilotInfo":null,"copilotAccessAllowed":false,"csrf_tokens":{"/FoxIO-LLC/ja4tscan/branches":{"post":"Lnvgb4XNccl2o6FNuhdqr0QyvHadjlhM8lFsfdC5TsUvmcDfsmWwQkLzE4_XhKdRMVpyNSjZcqtKd9M3xv_vUg"},"/repos/preferences":{"post":"LSw0arpgSMZ0O5tguvUTUE7Rf12304buz55bPX0CASKBmsyTMgbjc542pj09mVtZNHZfE_E5hC-raVcXs1wJTQ"}}},"title":"ja4tscan/probe_modules.c at main · FoxIO-LLC/ja4tscan","appPayload":{"helpUrl":"https://docs.github.com","findFileWorkerPath":"/assets-cdn/worker/find-file-worker-1583894afd38.js","findInFileWorkerPath":"/assets-cdn/worker/find-in-file-worker-3a63a487027b.js","githubDevUrl":null,"enabled_features":{"code_nav_ui_events":false,"overview_shared_code_dropdown_button":false,"react_blob_overlay":false,"copilot_conversational_ux_embedding_update":false,"copilot_smell_icebreaker_ux":true,"copilot_workspace":false}}}</script>
|
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1690:13: warning: character constant too long for its type
1690 |

Footer


| ^~~~~~~~~
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1703:16: error: expected identifier or ‘(’ before numeric constant
1703 | © 2024 GitHub, Inc.
| ^~~~
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1703:37: error: expected ‘=’, ‘,’, ‘;’, ‘asm’ or ‘attribute’ before ‘.’ token
1703 | © 2024 GitHub, Inc.
| ^
/root/ja4tscan/zmap/src/probe_modules/probe_modules.c:1772:12: error: stray ‘\342’ in program
1772 | You can<U+2019>t perform that action at this time.
| ^~~~~~~~
make[2]: *** [src/CMakeFiles/zmap.dir/build.make:494: src/CMakeFiles/zmap.dir/probe_modules/probe_modules.c.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:205: src/CMakeFiles/zmap.dir/all] Error 2
make: *** [Makefile:156: all] Error 2
You can now run python3 ja4tscan.py

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working
Projects
None yet
Development

No branches or pull requests

4 participants