diff options
-rw-r--r-- | .appveyor.yml | 17 | ||||
-rw-r--r-- | .gitattributes | 3 | ||||
-rw-r--r-- | README.md | 1 | ||||
-rw-r--r-- | configure.seed | 48 | ||||
-rw-r--r-- | src/lib/Makefile.in | 7 | ||||
-rw-r--r-- | src/lib/ndpi_content_match.c.inc | 119 | ||||
-rw-r--r-- | src/lib/protocols/btlib.c | 2 |
7 files changed, 169 insertions, 28 deletions
diff --git a/.appveyor.yml b/.appveyor.yml new file mode 100644 index 000000000..2a899c136 --- /dev/null +++ b/.appveyor.yml @@ -0,0 +1,17 @@ +version: 3.1.{build} +branches: + only: + - dev +environment: + matrix: + - COMPILER: mingw + MINGW_DIR: c:\msys64\mingw32 + +before_build: + - set Path=%MINGW_DIR%\bin;%Path% + +build_script: + - set Path=%MINGW_DIR%\bin;c:\msys64\usr\bin; + - bash autogen.sh + - cd src/lib + - make diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 000000000..0576151eb --- /dev/null +++ b/.gitattributes @@ -0,0 +1,3 @@ +*.sh -crlf +*.ac -crlf +*.am -crlf @@ -2,6 +2,7 @@ # nDPI [](https://travis-ci.org/ntop/nDPI) +[](https://ci.appveyor.com/project/ntop/ndpi) [](https://lgtm.com/projects/g/ntop/nDPI/context:cpp) [](https://lgtm.com/projects/g/ntop/nDPI/alerts) diff --git a/configure.seed b/configure.seed index d67978b10..c1bbf1593 100644 --- a/configure.seed +++ b/configure.seed @@ -96,28 +96,32 @@ AS_IF([test "${with_hyperscan+set}" = set],[ ]) ]) -if test -f $PCAP_HOME/libpcap/libpcap.a; then : - echo "Using libpcap from $PCAP_HOME" - PCAP_INC="-I $PCAP_HOME/libpcap" - PCAP_LIB="$PCAP_HOME/libpcap/libpcap.a $PCAP_HOME/lib/libpfring.a $LIBNUMA `$PCAP_HOME/lib/pfring_config --libs`" - - AC_CHECK_LIB([rt], [clock_gettime], [PCAP_LIB="$PCAP_LIB -lrt"]) - AC_CHECK_LIB([nl], [nl_handle_alloc], [PCAP_LIB="$PCAP_LIB -lnl"]) - # The dlopen() function is in libdl on GLIBC-based systems - # and in the C library for *BSD systems - AC_CHECK_LIB([dl], [dlopen, dlsym], [DL_LIB="-ldl"], - [AC_CHECK_LIB([c], [dlopen, dlsym], [DL_LIB="-lc"], - [AC_MSG_ERROR([unable to find the dlopen(), dlsym() functions]) ]) ]) -else - AC_CHECK_LIB([pcap], [pcap_open_live], [PCAP_LIB="-lpcap"]) - - if test $ac_cv_lib_pcap_pcap_open_live = "no"; then : - echo "" - echo "ERROR: Missing libpcap(-dev) library required to compile the example application" - echo "ERROR: Please install it and try again" - exit - fi -fi +case "$host" in + *-*-mingw32*|*-*-msys) + CFLAGS="${CFLAGS} -DOS_WIN32" + LDFLAGS="${LDFLAGS} -lws2_32 -lucrtbase" + ;; + *) + if test -f $PCAP_HOME/libpcap/libpcap.a; then : + echo "Using libpcap from $PCAP_HOME" + PCAP_INC="-I $PCAP_HOME/libpcap" + PCAP_LIB="$PCAP_HOME/libpcap/libpcap.a $PCAP_HOME/lib/libpfring.a $LIBNUMA `$PCAP_HOME/lib/pfring_config --libs`" + AC_CHECK_LIB([rt], [clock_gettime], [PCAP_LIB="$PCAP_LIB -lrt"]) + AC_CHECK_LIB([nl], [nl_handle_alloc], [PCAP_LIB="$PCAP_LIB -lnl"]) + # The dlopen() function is in libdl on GLIBC-based systems + # and in the C library for *BSD systems + AC_CHECK_LIB([dl], [dlopen, dlsym], [DL_LIB="-ldl"],[AC_CHECK_LIB([c], [dlopen, dlsym], [DL_LIB="-lc"],[AC_MSG_ERROR([unable to find the dlopen(), dlsym() functions]) ]) ]) + else + AC_CHECK_LIB([pcap], [pcap_open_live], [PCAP_LIB="-lpcap"]) + if test $ac_cv_lib_pcap_pcap_open_live = "no"; then : + echo "" + echo "ERROR: Missing libpcap(-dev) library required to compile the example application" + echo "ERROR: Please install it and try again" + exit + fi + fi + ;; +esac dnl> https://github.com/json-c/json-c AC_ARG_ENABLE([json-c], diff --git a/src/lib/Makefile.in b/src/lib/Makefile.in index 0c3f44838..3a29a4d3f 100644 --- a/src/lib/Makefile.in +++ b/src/lib/Makefile.in @@ -15,6 +15,7 @@ libdir = ${prefix}/lib includedir = ${prefix}/include/ndpi CC = @CC@ CFLAGS += -fPIC -DPIC -I../include -Ithird_party/include -DNDPI_LIB_COMPILATION -O2 -g -Wall @CUSTOM_NDPI@ +LDFLAGS = @LDFLAGS@ RANLIB = ranlib OBJECTS = $(patsubst protocols/%.c, protocols/%.o, $(wildcard protocols/*.c)) $(patsubst third_party/src/%.c, third_party/src/%.o, $(wildcard third_party/src/*.c)) $(patsubst ./%.c, ./%.o, $(wildcard ./*.c)) @@ -42,15 +43,15 @@ ndpi_main.c: ndpi_content_match.c.inc $(NDPI_LIB_STATIC): $(OBJECTS) ar rc $@ $(OBJECTS) - $(RANLIB) $@ + $(RANLIB) $@ $(NDPI_LIB_SHARED): $(OBJECTS) - $(CC) -shared -fPIC $(SONAME_FLAG) -o $@ $(OBJECTS) + $(CC) -shared -fPIC $(SONAME_FLAG) -o $@ $(OBJECTS) $(LDFLAGS) ln -fs $(NDPI_LIB_SHARED) $(NDPI_LIB_SHARED_BASE) ln -fs $(NDPI_LIB_SHARED) $(NDPI_LIB_SHARED_BASE).$(NDPI_VERSION_MAJOR) %.o: %.c $(HEADERS) Makefile - $(CC) $(CFLAGS) -c $< -o $@ + $(CC) $(CFLAGS) -c $< -o $@ $(LDFLAGS) clean: /bin/rm -f $(NDPI_LIB_STATIC) $(OBJECTS) *.o *.so *.lo $(NDPI_LIB_SHARED) diff --git a/src/lib/ndpi_content_match.c.inc b/src/lib/ndpi_content_match.c.inc index a4aacc55a..cd9ae19bf 100644 --- a/src/lib/ndpi_content_match.c.inc +++ b/src/lib/ndpi_content_match.c.inc @@ -295,6 +295,119 @@ static ndpi_network host_protocol_list[] = { { 0xB93CDB36 /* 185.60.219.54/32 */, 32, NDPI_PROTOCOL_WHATSAPP_FILES }, /* + WhatsApp Web + List of the WhatsApp Web server IP addresses and ranges + */ + { 0x9DF01337 /* 157.240.19.55/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0143D /* 157.240.20.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF080A0 /* 157.240.128.160/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08121 /* 157.240.129.33/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08221 /* 157.240.130.33/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08321 /* 157.240.131.33/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08421 /* 157.240.132.33/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08521 /* 157.240.133.33/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08621 /* 157.240.134.33/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08721 /* 157.240.135.33/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08821 /* 157.240.136.33/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08921 /* 157.240.137.33/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08A21 /* 157.240.138.33/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08B22 /* 157.240.139.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08C22 /* 157.240.140.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08D22 /* 157.240.141.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08E22 /* 157.240.142.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF08F22 /* 157.240.143.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF09022 /* 157.240.144.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF09122 /* 157.240.145.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF09222 /* 157.240.146.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF09322 /* 157.240.147.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF09422 /* 157.240.148.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF09722 /* 157.240.151.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF09822 /* 157.240.152.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF09BA2 /* 157.240.155.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF09EA2 /* 157.240.158.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF09FA2 /* 157.240.159.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A0A2 /* 157.240.160.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A222 /* 157.240.162.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A262 /* 157.240.162.98/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A2A2 /* 157.240.162.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A2E2 /* 157.240.162.226/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A422 /* 157.240.164.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A462 /* 157.240.164.98/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A522 /* 157.240.165.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A562 /* 157.240.165.98/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A622 /* 157.240.166.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A662 /* 157.240.166.98/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A722 /* 157.240.167.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A762 /* 157.240.167.98/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A822 /* 157.240.168.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0A862 /* 157.240.168.98/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0ACA0 /* 157.240.172.160/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0AD22 /* 157.240.173.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0AEA2 /* 157.240.174.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0AF22 /* 157.240.175.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0B0A2 /* 157.240.176.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0B1A2 /* 157.240.177.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0B2A2 /* 157.240.178.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0B3A2 /* 157.240.179.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0B4A2 /* 157.240.180.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0B5A2 /* 157.240.181.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0B622 /* 157.240.182.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0B722 /* 157.240.183.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0B822 /* 157.240.184.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0B922 /* 157.240.185.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0B962 /* 157.240.185.98/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BA62 /* 157.240.186.98/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BB62 /* 157.240.187.98/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BCA2 /* 157.240.188.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BCE2 /* 157.240.188.226/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BD21 /* 157.240.189.33/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BD61 /* 157.240.189.97/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BDA2 /* 157.240.189.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BDE2 /* 157.240.189.226/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BE21 /* 157.240.190.33/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BE61 /* 157.240.190.97/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BEA2 /* 157.240.190.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BEE2 /* 157.240.190.226/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BF22 /* 157.240.191.34/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BFA2 /* 157.240.191.162/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0BFE2 /* 157.240.191.226/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0C53C /* 157.240.197.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0C53D /* 157.240.197.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0C63C /* 157.240.198.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0C63D /* 157.240.198.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0C83C /* 157.240.200.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0C83D /* 157.240.200.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0CB3C /* 157.240.203.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0CB3D /* 157.240.203.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0CC3C /* 157.240.204.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0CC3D /* 157.240.204.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0CE3C /* 157.240.206.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0CE3D /* 157.240.206.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0CF3C /* 157.240.207.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0CF3D /* 157.240.207.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D03C /* 157.240.208.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D03D /* 157.240.208.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D13C /* 157.240.209.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D13D /* 157.240.209.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D23C /* 157.240.210.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D23D /* 157.240.210.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D43C /* 157.240.212.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D43D /* 157.240.212.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D53C /* 157.240.213.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D53D /* 157.240.213.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D63C /* 157.240.214.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D63D /* 157.240.214.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D83C /* 157.240.216.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0D83D /* 157.240.216.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0DE3C /* 157.240.222.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x9DF0DE3D /* 157.240.222.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x1F0D4239 /* 31.13.66.57/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x1F0D4C3C /* 31.13.76.60/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x1F0D4C3D /* 31.13.76.61/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x1F0D5C3E /* 31.13.92.62/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + { 0x1F0D5D37 /* 31.13.93.55/32 */, 32, NDPI_PROTOCOL_WHATSAPP }, + + /* WeChat origin AS132203, AS132591, AS45090 */ @@ -893,7 +1006,6 @@ static ndpi_network host_protocol_list[] = { { 0x9D38C600 /* 157.56.198.0 */, 26, NDPI_PROTOCOL_SKYPE }, { 0x9D3C0000 /* 157.60.0.0 */, 16, NDPI_PROTOCOL_SKYPE }, { 0x9D360000 /* 157.54.0.0 */, 15, NDPI_PROTOCOL_SKYPE }, - { 0x0D400000 /* 13.64.0.0 */, 11, NDPI_PROTOCOL_SKYPE }, { 0x0D6B0380 /* 13.107.3.128 */, 32, NDPI_PROTOCOL_SKYPE }, { 0x0D6B0381 /* 13.107.3.129 */, 32, NDPI_PROTOCOL_SKYPE }, { 0x6FDD4000 /* 111.221.64.0 */, 18, NDPI_PROTOCOL_SKYPE }, @@ -8444,8 +8556,9 @@ static ndpi_network host_protocol_list[] = { { 0x34EE6A74 /* 52.238.106.116/32 */, 32, NDPI_PROTOCOL_OFFICE_365 }, { 0x34F796BF /* 52.247.150.191/32 */, 32, NDPI_PROTOCOL_OFFICE_365 }, /* ** */ - { 0x34700000 /* 52.112.0.0/14 */, 14, NDPI_PROTOCOL_MICROSOFT }, - { 0x34600000 /* 52.96.0.0/12 */, 12, NDPI_PROTOCOL_MICROSOFT }, + { 0x0D400000 /* 13.64.0.0 */, 11, NDPI_PROTOCOL_MICROSOFT }, + { 0x0D600000 /* 13.96.0.0 */, 13, NDPI_PROTOCOL_MICROSOFT }, + { 0x0D680000 /* 13.104.0.0 */, 14, NDPI_PROTOCOL_MICROSOFT }, /* End */ { 0x0, 0, 0 } diff --git a/src/lib/protocols/btlib.c b/src/lib/protocols/btlib.c index 8268e144d..9ddcab84f 100644 --- a/src/lib/protocols/btlib.c +++ b/src/lib/protocols/btlib.c @@ -39,8 +39,10 @@ typedef unsigned long long int u_int64_t; #include <stdint.h> #include <stdlib.h> +#ifndef WIN32 #include <arpa/inet.h> #endif +#endif #include "btlib.h" |