Aslen: http://rtomaszewski.blogspot.sk/2012/11/how-to-forcibly-kill-established-tcp.html
Bir soketi "öldürmek" için, bir TCP sıfırlama paketi göndermelisiniz. Göndermek (ve diğer tarafça kabul edilmek) için, gerçek TCP sıra numarasını bilmeniz gerekir.
1) Bahsedilen tcpkill
yöntem, SEQ numarasını ağa pasif olarak takarak ve bu bağlantının geçerli paketlerinin gelmesini bekleyerek öğrenir. Daha sonra her iki tarafa da RSET paketleri göndermek için öğrenilen SEQ numarasını kullanır. Ancak bağlantı boş / askıda ve veri akışı yoksa, hiçbir şey yapmaz ve sonsuza dek bekler.
2) Başka bir yöntem de denilen perl betiğini kullanır killcx
( Sourceforge'a bağlantı ). Bu aktif olarak sahte SYN paketleri gönderir ve SEQ numarasını cevaptan öğrenir. Daha sonra RSET paketlerini aynı şekilde gönderir tcpkill
.
Alternatif olarak yaklaşım (elde etmek istediğiniz şeye dayanarak), gdb
bu sokette / bağlantıya sahip olan bir işleme eklemek için bu hata ayıklayıcısını kullanmak ve close()
bu cevabın ayrıntılarında açıklandığı gibi sistem çağrısı yapmaktır .
Yalnızca askıya alınmış bağlantılarla (diğer taraf ölü) uğraşmak istiyorsanız, sistemde doğru şekilde yapılandırılmışsa bu bağlantıları otomatik olarak kapatması gereken çeşitli zaman aşımları (örneğin, TCP koruma) vardır.
ss
Komutu kullanmanın cevabı diğerlerinden daha kolay ve geneldir.