Localhost üzerinde belirli bir bağlantı noktasını dinleyen herhangi bir hizmeti başlatamıyorum bir Slackware linux kutusu var. Strace kullanarak hatanın bind()çağrıda gerçekleştiğini ve hatanın EADDRINUSE (Address already in use):
bind(3, {sa_family=AF_INET, sin_port=htons(874), sin_addr=inet_addr("127.0.0.1")}, 16) = -1 EADDRINUSE (Address already in use)
Bu, bu bağlantı noktasını dinlemeye başlamaya çalıştığım herhangi bir işlemde olur, bu nedenle işlemin kendisiyle ilgili değildir. Yukarıdaki strace çıkışı komuttan gelir strace -ff nc -l -p 874 -s 127.0.0.1.
Yani, bu zaten localhost port 874'te dinleyen bir süreç olduğunu gösteriyor. Ancak, bulamıyorum. Aşağıdaki komutların hiçbiri döndürmez:
netstat -aplunt | grep :874
netstat -na | grep :874
lsof -i :874
lsof -i tcp | grep 874
fuser 874/tcp
socklist | grep 874
iptables -t filter -S | grep 874
iptables -t nat -S | grep 874
iptables -t mangle -S | grep 874
conntrack -L | grep 874
Dinlemeye çalışırsam 0.0.0.0:874aynı hatayla başarısız olur. Bir nic üzerinde yapılandırılmış IP adreslerinden birinde dinlemek TAMAM, ve dinlemek 127.0.0.2:874de TAMAM. Farklı bir bağlantı noktasında dinleme, 127.0.0.1veya üzerinde de iyi çalışır 0.0.0.0.
Şimdi merak ediyorum. Ağ yığınının neden EADDRINUSE döndürdüğünü nasıl öğrenebilirim? Başka hangi şeylere bakabilirim veya daha fazla bilgi almak için başka hangi komutları çalıştırabilirim?
İlave bilgi:
- Çekirdek 4.1.31.
- Selinux burada kullanılmıyor.
- Telnet ile 127.0.0.1'e bağlanmaya çalışmak "Bağlantı reddedildi"
- Komutları root olarak çalıştırıyorum
netstat -na | grep 874, mevcut netstatbayraklarınızın çok kısıtlayıcı olması durumunda denerdim .
iptables -Sçıktıda herhangi bir yeri var mı?