Hatte am Wochenende wieder das Problem, dass ich einen Quassel-Cient (kennt ihr von hier) zuviel laufen hatte. Zwar kann Quassel dies ohne Probleme handhaben, nur markiert mir dieser Client das aktuelle Fenster immer als gelesen, so dass ich nix mitkrieg in diesem Channel. Aber wie trennt man den Client wenn man keinen Zugriff auf den Client-PC hat? Ganz einfach: Zuerst findet man raus, von welcher IP bzw. URL der Client sich konnektiert. In meinem Fall war das einfach
~ netstat --numeric-ports -W | grep 4242 tcp 0 0 meinserver.de:4242 derersteclient.de:1348 VERBUNDEN tcp 0 0 meinserver.de:4242 derzweiteclient.de:53575 VERBUNDEN
dann nutzt man tcpkill. Das tötet einfach alles was an TCP/IP von diesem Host kommt. Find ich gut 🙂
~ tcpkill host derzweiteclient.de tcpkill: listening on eth0 [derzweiteclient.de] 213.*.*.* - 212.*.*.*:50937: R 1398992140:1398992140(0) win 0 213.*.*.* - 212.*.*.*:50937: R 1398992260:1398992260(0) win 0 213.*.*.* - 212.*.*.*:50937: R 1398992500:1398992500(0) win 0 212.*.*.*:50937 - 213.*.*.*:22: R 2312272914:2312272914(0) win 0 212.*.*.*:50937 - 213.*.*.*:22: R 2312273916:2312273916(0) win 0 212.*.*.*:50937 - 213.*.*.*:22: R 2312275920:2312275920(0) win 0 CTRL^C
ACHTUNG: Man sollte tunlichst das nicht vom „derzweiteclient.de“-PC machen, weil man sich damit komplett aussperrt. tcpkill läuft solange bis man es abbricht, in der Regel reichen schon 3-5 Sekunden für Quassel zum disconnecten.
Man kann das optimieren mit der Port-Angabe, z.B.: tcpkill host derzweiteclient.de port 4242. Einfach mal bei tcpdump nachlesen was es alles für Optionen gibt.