Ban đầu từ: http://rtomaszewski.blogspot.sk/2012/11/how-to-forcizable-kill-estabaseed-tcp.html
Để "tiêu diệt" một ổ cắm, bạn phải gửi gói đặt lại TCP. Để gửi nó (và được phía bên kia chấp nhận), bạn phải biết số thứ tự TCP thực tế.
1) tcpkill
Phương pháp đã được đề cập tìm hiểu số SEQ bằng cách đánh hơi thụ động trên mạng và chờ đợi các gói hợp lệ của kết nối này đến. Sau đó, nó sử dụng số SEQ đã học để gửi các gói RSET đến cả hai bên. Tuy nhiên, nếu kết nối không hoạt động / bị treo và không có luồng dữ liệu, nó sẽ không làm gì cả và sẽ đợi mãi.
2) Một phương thức khác sử dụng tập lệnh perl được gọi là killcx
( liên kết đến Sourceforge ). Điều này chủ động gửi các gói tin giả mạo và tìm hiểu số SEQ từ câu trả lời. Sau đó nó sẽ gửi các gói RSET giống như tcpkill
.
Cách tiếp cận khác (dựa trên những gì bạn muốn đạt được) là sử dụng gdb
trình gỡ lỗi để đính kèm vào một quy trình sở hữu ổ cắm / kết nối này và close()
thay mặt phát hành tòa nhà - như chi tiết trong câu trả lời này .
Nếu bạn chỉ muốn xử lý các kết nối bị treo (phía bên kia đã chết), có nhiều thời gian chờ khác nhau (ví dụ như giữ TCP), sẽ tự động đóng các kết nối đó nếu được cấu hình đúng trên hệ thống.
ss
lệnh dễ dàng và tổng quát hơn nhiều so với những người khác.