Comments (22)
Unfortunately I have to get back to my Real Job, but keep plugging away at it. Good luck!
Worst case you can hack together a wrapper like I did for WSL1
from pi-hole-for-android.
Heya I looked at this again real quick. Looks like you need to either patch iproute or have CONFIG_INET_UDP_DIAG enabled in your kernel.
from pi-hole-for-android.
In v5.8+ of pihole script: https://github.com/pi-hole/pi-hole/blob/2ff10fcd0a5464255d9c004541e6b23d7b42662f/pihole#L316
analyze_ports() {
local lv4 lv6 port=${1}
# FTL is listening at least on at least one port when this
# function is getting called
# Check individual address family/protocol combinations
# For a healthy Pi-hole, they should all be up (nothing printed)
lv4="$(ss --ipv4 --listening --numeric --tcp --udp src :${port})"
if grep -q "udp " <<< "${lv4}"; then
echo -e " ${TICK} UDP (IPv4)"
else
echo -e " ${CROSS} UDP (IPv4)"
fi
if grep -q "tcp " <<< "${lv4}"; then
echo -e " ${TICK} TCP (IPv4)"
else
echo -e " ${CROSS} TCP (IPv4)"
fi
lv6="$(ss --ipv6 --listening --numeric --tcp --udp src :${port})"
if grep -q "udp " <<< "${lv6}"; then
echo -e " ${TICK} UDP (IPv6)"
else
echo -e " ${CROSS} UDP (IPv6)"
fi
if grep -q "tcp " <<< "${lv6}"; then
echo -e " ${TICK} TCP (IPv6)"
else
echo -e " ${CROSS} TCP (IPv6)"
fi
echo ""
}
In v5.7 of pihole script: https://github.com/pi-hole/pi-hole/blob/1b809e4e8ea442cd2a3cc54206429fabd58cce05/pihole#L314
analyze_ports() {
# FTL is listening at least on at least one port when this
# function is getting called
echo -e " ${TICK} DNS service is listening"
# Check individual address family/protocol combinations
# For a healthy Pi-hole, they should all be up (nothing printed)
if grep -q "IPv4.*UDP" <<< "${1}"; then
echo -e " ${TICK} UDP (IPv4)"
else
echo -e " ${CROSS} UDP (IPv4)"
fi
if grep -q "IPv4.*TCP" <<< "${1}"; then
echo -e " ${TICK} TCP (IPv4)"
else
echo -e " ${CROSS} TCP (IPv4)"
fi
if grep -q "IPv6.*UDP" <<< "${1}"; then
echo -e " ${TICK} UDP (IPv6)"
else
echo -e " ${CROSS} UDP (IPv6)"
fi
if grep -q "IPv6.*TCP" <<< "${1}"; then
echo -e " ${TICK} TCP (IPv6)"
else
echo -e " ${CROSS} TCP (IPv6)"
fi
echo ""
}
from pi-hole-for-android.
Hi Ashish,
Try updating the iproute package with one from my CentOS7-ARMv7 repo:
I can't reproduce this issue on with any of my devices... No idea if this will help but worth a try.
from pi-hole-for-android.
Thanks for the quick compilation of this. I installed it but same thing. The below command doesn't return any udp port status:
ss --ipv4 --listening --numeric --tcp --udp src :53
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 32 0.0.0.0:53 0.0.0.0:*
BUT
netstat -an | grep 53
works fine as expected
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5335 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:8953 0.0.0.0:* LISTEN
tcp6 0 0 :::53 :::* LISTEN
udp 0 0 0.0.0.0:53 0.0.0.0:*
udp 0 0 127.0.0.1:5335 0.0.0.0:*
udp6 0 0 :::53 :::*
I think it might be due to the custom kernel? I do have the source code for it here: https://github.com/ashishkotnala29/android_kernel_xiaomi_dior/tree/cm-14.1
I'm actually not sure where to look about this...
from pi-hole-for-android.
I do notice that the output from the ss
command (in the case of IPv6) is different from distro-supplied version vs the upgraded version of iproute
[android@localhost ~]$ ss --ipv6 --listening --numeric --tcp --udp src :53
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 [::]:53 [::]:*
tcp LISTEN 0 32 [::]:53 [::]:*
[android@localhost ~]$ sudo rpm -Uvh https://github.com/DesktopECHO/CentOS7-ARMv7/raw/main/iproute-5.9.0-4.el7.armv7hl.rpm
Retrieving https://github.com/DesktopECHO/CentOS7-ARMv7/raw/main/iproute-5.9.0-4.el7.armv7hl.rpm
Preparing... ################################# [100%]
Updating / installing...
1:iproute-5.9.0-4.el7 ################################# [ 50%]
Cleaning up / removing...
2:iproute-4.11.0-30.el7 ################################# [100%]
[android@localhost ~]$ ss --ipv6 --listening --numeric --tcp --udp src :53
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 *:53 *:*
tcp LISTEN 0 32 *:53 *:*
[android@localhost ~]$
What's the output from your affected device?
from pi-hole-for-android.
What's the output from your affected device?
It just doesn't return any udp port status for some reason.
from pi-hole-for-android.
Nothing at all from both versions of ss
?
But netstat
works?
We're in bizarro-land with this issue now!
FYI... there may be a workaround. In my Pi-Hole for Windows project I had to create a wrapper for ss
because it doesn't work as expected in WSL1. It uses netstat.exe
to check the port then reformats the ourput into something Pi-hole can use. You can modify this to work in your situation too.
from pi-hole-for-android.
Do you get any output from:
ss -6ln
from pi-hole-for-android.
Oh... also check if the output for ss
is the same whether you are a regular user or as root.
from pi-hole-for-android.
Here you go. This is from the affected device...
[android@dior ~]$ sudo rpm -qa | grep iproute
iproute-4.11.0-30.el7.armv7hl
[android@dior ~]$ ss --ipv6 --listening --numeric --tcp --udp src :53
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 32 [::]:53 [::]:*
[android@dior ~]$ ss -6ln
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 2 [::]:3389 [::]:*
tcp LISTEN 0 5 [::1]:4711 [::]:*
tcp LISTEN 0 32 [::]:53 [::]:*
tcp LISTEN 0 2 [::1]:3350 [::]:*
tcp LISTEN 0 128 [::]:22 [::]:*
[android@dior ~]$ sudo ss --ipv6 --listening --numeric --tcp --udp src :53
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 32 [::]:53 [::]:*
[android@dior ~]$ sudo ss -6ln
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
tcp LISTEN 0 2 [::]:3389 [::]:*
tcp LISTEN 0 5 [::1]:4711 [::]:*
tcp LISTEN 0 32 [::]:53 [::]:*
tcp LISTEN 0 2 [::1]:3350 [::]:*
tcp LISTEN 0 128 [::]:22 [::]:*
[android@dior ~]$
Here it is when the package is upgraded...
[android@dior git]$ sudo rpm -qa | grep iproute
iproute-5.9.0-4.el7.armv7hl
[android@dior git]$ ss --ipv6 --listening --numeric --tcp --udp src :53
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 32 *:53 *:*
[android@dior git]$ ss -6ln
RTNETLINK answers: Invalid argument
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 2 *:3389 *:*
tcp LISTEN 0 5 [::1]:4711 *:*
tcp LISTEN 0 32 *:53 *:*
tcp LISTEN 0 2 [::1]:3350 *:*
tcp LISTEN 0 128 *:22 *:*
[android@dior git]$ sudo ss --ipv6 --listening --numeric --tcp --udp src :53
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 32 *:53 *:*
[android@dior git]$ sudo ss -6ln
RTNETLINK answers: Invalid argument
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 2 *:3389 *:*
tcp LISTEN 0 5 [::1]:4711 *:*
tcp LISTEN 0 32 *:53 *:*
tcp LISTEN 0 2 [::1]:3350 *:*
tcp LISTEN 0 128 *:22 *:*
[android@dior git]$
from pi-hole-for-android.
Ok that looks like what we're expecting.
What's the output of these commands with the updated iproute
package?
from pi-hole-for-android.
Ok that looks like what we're expecting. What's the output of these commands with the updated
iproute
package?
Updated same post...
from pi-hole-for-android.
Here's the same from an unaffected device. Also on the latest package.
[android@xtron ~]$ ss --ipv6 --listening --numeric --tcp --udp src :53
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 *:53 *:*
tcp LISTEN 0 32 *:53 *:*
[android@xtron ~]$ ss -6ln
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 *:53 *:*
tcp LISTEN 0 5 [::1]:4711 *:*
tcp LISTEN 0 32 *:53 *:*
tcp LISTEN 0 2 [::1]:3350 *:*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 128 [::1]:8953 *:*
tcp LISTEN 0 2 *:3389 *:*
[android@xtron ~]$ sudo ss --ipv6 --listening --numeric --tcp --udp src :53
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 *:53 *:*
tcp LISTEN 0 32 *:53 *:*
[android@xtron ~]$ sudo ss -6ln
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 *:53 *:*
tcp LISTEN 0 5 [::1]:4711 *:*
tcp LISTEN 0 32 *:53 *:*
tcp LISTEN 0 2 [::1]:3350 *:*
tcp LISTEN 0 128 *:22 *:*
tcp LISTEN 0 128 [::1]:8953 *:*
tcp LISTEN 0 2 *:3389 *:*
[android@xtron ~]$ rpm -qa | grep iproute
iproute-5.9.0-4.el7.armv7hl
[android@xtron ~]$
This return udp ports.
Also yes, netstat
works on both the devices, same output....
(affected device)
[android@dior git]$ netstat -an | grep :53
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5335 0.0.0.0:* LISTEN
tcp6 0 0 :::53 :::* LISTEN
udp 0 0 0.0.0.0:53 0.0.0.0:*
udp 0 0 127.0.0.1:5335 0.0.0.0:*
udp6 0 0 :::53 :::*
(unaffected device)
[android@xtron ~]$ netstat -an | grep :53
tcp 0 0 0.0.0.0:53 0.0.0.0:* LISTEN
tcp 0 0 127.0.0.1:5335 0.0.0.0:* LISTEN
tcp6 0 0 :::53 :::* LISTEN
udp 0 0 0.0.0.0:53 0.0.0.0:*
udp 0 0 127.0.0.1:5335 0.0.0.0:*
udp6 0 0 :::53
from pi-hole-for-android.
This is suspect:
RTNETLINK answers: Invalid argument
Have a look here and here ....perhaps it doesn't like your IPv6 settings?
from pi-hole-for-android.
I don't think the RTNETLINK answers: Invalid argument
is an issue because that was not a problem on original package and unaffected device also shows the same message but works just fine on old and new package both.
I understand, thanks a lot for your time. This can wait since it seems to be a cosmetic issue...
from pi-hole-for-android.
What's the output from your affected device?
It just doesn't return any udp port status for some reason.
Where did you see this happen?
from pi-hole-for-android.
Where did you see this happen?
[android@dior git]$ ss --ipv6 --listening --numeric --tcp --udp src :53
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 32 *:53 *:*
[android@dior git]$
^^^Affected device
[android@xtron ~]$ ss --ipv6 --listening --numeric --tcp --udp src :53
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 *:53 *:*
tcp LISTEN 0 32 *:53 *:*
[android@xtron ~]$
^^^Unaffected device
from pi-hole-for-android.
Ok last question... what's the output of ss -tulpen
on both the affected and unaffected device?
Possibly related: https://weberblog.net/services-listening-on-ipv6-and-ipv4-or-maybe-not
EDIT: Yeah this seems to be totally cosmetic. If it's a bother then a wrapper for ss
could work around this if a proper fix cannot be found.
from pi-hole-for-android.
Ok last question... what's the output of
ss -tulpen
on both the affected and unaffected device?
[android@dior git]$ ss -tulpen
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
tcp LISTEN 0 5 127.0.0.1:4711 0.0.0.0:* uid:995 ino:30524 sk:e44c8000
tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* ino:28214 sk:e2a48000
tcp LISTEN 0 32 0.0.0.0:53 0.0.0.0:* uid:995 ino:30516 sk:e44c8580
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* ino:28181 sk:e2a48580
tcp LISTEN 0 128 127.0.0.1:5335 0.0.0.0:* ino:24145 sk:e44cf900
tcp LISTEN 0 128 127.0.0.1:8953 0.0.0.0:* ino:24146 sk:e44cee00
tcp LISTEN 0 2 *:3389 *:* ino:28357 sk:e43492c0
tcp LISTEN 0 5 [::1]:4711 *:* uid:995 ino:28349 sk:e4348c80
tcp LISTEN 0 32 *:53 *:* uid:995 ino:30518 sk:e436f6c0
tcp LISTEN 0 2 [::1]:3350 *:* ino:30407 sk:e4368000
tcp LISTEN 0 128 *:22 *:* ino:28182 sk:e4348000
[android@dior git]$
^^^Affected
[android@xtron ~]$ ss -tulpen
RTNETLINK answers: Invalid argument
RTNETLINK answers: Invalid argument
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port Process
udp UNCONN 0 0 0.0.0.0:53 0.0.0.0:*
udp UNCONN 0 0 127.0.0.1:5335 0.0.0.0:*
udp UNCONN 0 0 *:53 *:*
tcp LISTEN 0 5 127.0.0.1:4711 0.0.0.0:* ino:1334886 sk:ecdd1e00
tcp LISTEN 0 5 [::1]:4711 *:* ino:1334884 sk:e417f900
tcp LISTEN 0 4 127.0.0.1:5037 0.0.0.0:* ino:1103 sk:ecdd0000
tcp LISTEN 0 128 0.0.0.0:80 0.0.0.0:* ino:1334794 sk:ecdd0500
tcp LISTEN 0 32 *:53 *:* ino:1333029 sk:e169dd80
tcp LISTEN 0 32 0.0.0.0:53 0.0.0.0:* ino:1333027 sk:ecb4b700
tcp LISTEN 0 2 [::1]:3350 *:* ino:1334772 sk:e4178b00
tcp LISTEN 0 128 *:22 *:* ino:1334755 sk:e417e880
tcp LISTEN 0 128 0.0.0.0:22 0.0.0.0:* ino:1334754 sk:ecdd2800
tcp LISTEN 0 128 127.0.0.1:5335 0.0.0.0:* ino:1332812 sk:ecb48000
tcp LISTEN 0 128 127.0.0.1:8953 0.0.0.0:* ino:1332814 sk:ecb4ad00
tcp LISTEN 0 128 [::1]:8953 *:* ino:1332813 sk:e169d280
tcp LISTEN 0 2 *:3389 *:* ino:1332885 sk:e169f380
[android@xtron ~]$
^^^Unaffected
As expected, no udp info on affected.
EDIT: Nice find, I had my suspicion of it being a cosmetic issue because pi-hole works as-is and netstat
also shows udp ports and the output for it is same on both devices. Only ss
fails on one of them. It isn't that big of a deal but IDK if in future on basis of these outputs/checks pihole updates may or may not break.
from pi-hole-for-android.
Wow, thanks for the config find! Yes, now that I see that config is "not set" in the kernel. I can definitely do that. I'll compile a new kernel with that config enabled and test that.
from pi-hole-for-android.
Fixed with the newly compiled kernel with the mentioned config enabled!
CentOS Linux 7 (AltArch) [running via Linux Deploy]
Pi-hole Stats -> padd
Pi-hole Update -> pihole -up
Pi-hole Install -> p4a-install
Pi-hole Uninstall -> p4a-uninstall
[✓] FTL is listening on port 53
[✓] UDP (IPv4)
[✓] TCP (IPv4)
[✓] UDP (IPv6)
[✓] TCP (IPv6)
[✓] Pi-hole blocking is enabled
[android@localhost ~]$ ss --ipv6 --listening --numeric --tcp --udp src :53
Netid State Recv-Q Send-Q Local Address:Port Peer Address:Port
udp UNCONN 0 0 [::]:53 [::]:*
tcp LISTEN 0 32 [::]:53 [::]:*
[android@localhost ~]$
Thanks a lot for your time! Much appreciated.
from pi-hole-for-android.
Related Issues (20)
- Getting permission denied when executing commands on Android 9 G950F HOT 1
- Unable to download raspbian.tgz image from GitHub HOT 2
- Download error HOT 1
- Issue using pideploy-gui-install - can't connect through Windows RDP HOT 13
- Failed to create Client object: dameon not running HOT 7
- Read only file system HOT 4
- New Deployment Error - Installation stop HOT 10
- Long-term load (15min avg) larger than number of processors HOT 3
- Unable to install PIXEL Desktop HOT 2
- Start Pi-hole automatically HOT 4
- hostname change HOT 5
- nextcloudpi HOT 1
- F-Droid inclusion HOT 5
- Failed to create client object: Daemon not running HOT 10
- Unable to Login into RDP after Running PiDeploy-gui-install HOT 5
- Cant Run programms in terminal HOT 3
- Permission denied HOT 1
- Segmentation fault HOT 4
- Possibilities of having homebridge or openhab HOT 3
- Tried to install nextcloud 27 got dpkg error HOT 3
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pi-hole-for-android.