sslug-teknik team mailing list archive
-
sslug-teknik team
-
Mailing list archive
-
Message #12086
Bedre `netstat -p' [var: Re: SSHD start problem]
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1
Lars Knudsen <lk@xxxxxxxxxxxxxxxxxxx> writes:
> > error: bind: Address already in use
> > fatal: Bind to port 22 failed: Transport endpoint is not connected.
>
> Der er et eller andet program (måske en gammel sshd) der bruger porten,
> [...]
> Ellers kan du checke med en netstat -a om det er et andet program
> der har beslaglagt porten.
Nej, `netstat -a' vil bare vise _at_ porten er beslaglagt, men ikke hvilket
program der er skyld i det. Det sidste kan man derimod se med
# fuser -v 22/tcp # Vis hvem & hvad der lige nu besætter TCP-port 22
Hvis man vil se programmerne for alle åbne TCP-forbindelser, kan man bikse
sig en lille pipeline sammen, der kalder fuser(1) med alle portnumrene fra
`netstat -at' (`-t' = vis kun TCP-forbindelser, ikke UDP og lokale sockets):
# netstat -at | awk '{print $4}' | cut -d: -f2 -s | grep -v '^listen$' \
| sort -n | uniq | awk '{print $0 "/tcp"}' | xargs fuser -v
Det er man i hvert fald nødt til i lidt ældre Linux-distributioner, fx RedHat
5.2. I RedHat 6.0 har netstat(1) fået sig et interessant `-p'-argument. Det
skulle netop vise PID og programnavne for forbindelserne. Desværre mangler
mange af programnavnene, i hvert fald med netstat'en i net-tools-1.52-2 på
Alpha-Linux ("netstat 1.38 (1999-04-20)"). Så dér er kombinationen med fuser
stadig nyttig.
- --
Ulrik Dickow / ukd@xxxxxxxxxx / Phone +45 36 39 08 00 / Fax +45 36 77 03 01
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v0.9.9 (GNU/Linux)
Comment: By Mailcrypt 3.5.2 and GNU Privacy Guard, http://www.gnupg.org
iD8DBQE3uyst9u7fIBhLxNkRAhZWAKD5jnwxhPsCDLtB3Zw6T5vBiPYL+ACg0EDm
/8PZDbLtxX7zlTwnbiKyiVs=
=B2Om
-----END PGP SIGNATURE-----
Follow ups
References