Neden bir RST paketi yerine bir RST, ACK paketi görüyorum?


42

Wireshark'a baktığımda, genellikle TCP Akışlarının bir RST paketi yerine bir RST, ACK paketi ile sonlandığını görüyorum. Birileri bunun neden olduğunu biliyor mu?

Gördüklerime bir örnek:

SYN SYN, ACK ... veriler ... RST, ACK

Wireshark, RST, ACK paketinden önce bir RST paketi almıyor.


2
Neden RST / ACK'dan önce bir RST segmenti olması gerektiğini düşünüyorsunuz? Belki böyle bir paket izine bir örnek verebilirsin?
Gerben,

ACK RST'yi aynı pakette mi destekliyor?
generalnetworkerror,

Herhangi bir cevap size yardımcı oldu mu? eğer öyleyse, cevabı kabul etmelisin ki soru sonsuza kadar ortaya çıkmayacak, cevap arayacaksın. Alternatif olarak, kendi cevabınızı verebilir ve kabul edebilirsiniz.
Ron Maupin

I ACK u istek gönderdi \ data son bağlantı Son bağlantı = RST
motoko

Yanıtlar:


55

Bir RST / ACK, bir SYN / ACK ile aynı bir RST onayı değildir, tam olarak bir SYN onayı değildir. TCP kurulumu aslında dört yollu bir işlemdir: Ana bilgisayarın başlatılması, alıcı ana bilgisayara bir SYN gönderir ve bu SYN için bir ACK gönderir. Alıcı ana bilgisayar, bir ACK'yı geri gönderen başlangıç ​​ana bilgisayarına bir SYN gönderir. Bu, durum bilgisi olan iletişim kurar.

SYN --> 
    <-- ACK
    <-- SYN
ACK -->

Bunu daha verimli hale getirmek için alıcı ana bilgisayar SYN'yi ACK yapabilir ve aynı paket içinde kendi SYN'sini göndererek görmeye alıştığımız üç yollu süreci yaratabilir.

SYN -->
    <-- SYN/ACK
ACK -->

Bir RST / ACK durumunda, cihaz önceki paket (ler) e bir ACK ile sırayla hangi verilerin gönderildiğini onaylar ve daha sonra gönderene bağlantının RST ile kapatıldığını bildirir. Cihaz, iki paketi bir SYN / ACK gibi tek bir pakette birleştiriyor. Bir RST / ACK, genellikle bir TCP oturumunu kapatırken normal bir yanıt değildir, ancak mutlaka bir sorunun da göstergesi değildir.


4
RST / ACK göndermenin örnek bir senaryosu, alıcı ana bilgisayarın hedef TCP portunu dinlememesidir.
Indika K

Evet kesinlikle. Bir keresinde 80 numaralı A makinesinden B numaralı 80 numaralı makineye bir DDoS saldırısı (eğitim amaçlı;) simülasyonu yapmaya çalıştım. Ancak B'nin 80 limanı açık değil. Böylece B makinesinin RST ACKsahte kaynak adresine çok fazla yanıt gönderdiğini görebilirim .
smwikipedia 09:18 'de

RST / ACK yanıtı paket içeriğine bağlı olabilir mi? Başka bir deyişle sunucu, paketi alır ve paket içeriği bir koşulla eşleştiğinden oturum kapatıldı.
skooog

1

Bağlantı kurulduktan sonra, tüm paketlerin ACK ayarlaması ve güvenilir taşıma / güvenlik için alınan paketlerin sıra numarası ile eşleşmesi gerekir. ACK'sız RST kabul edilmeyecektir. Bir taraf RST gönderdiğinde, soket hemen kapanır ve alıcı taraf da geçerli RST aldıktan sonra soketi kapatır. Olması gerekmez ve onaylanamaz.

TCP el sıkışmasından sonra

A ---> B Syn = x, Ack = y, len = z, ACK Bayrağı

B ---> A Syn = y, Ack = x + z, len = o, ACK Bayrağı

A ---> B Syn = x + z, Ack = y + o, len = p, ACK Bayrağı

B ---> A Syn = y + o, ACK = x + z + p, len = q, RST, ACK Bayrağı

B, son paketi gönderdikten sonra soketi kapatır ve A, aldıktan sonra soketi kapatır.

(Burada TCP penceresini göz önünde bulundurmamakta veya onaylamadan önce bir uçtan daha fazla paket olabilir)

ACK Bayrağı, onay numarası ve onay prosedürü birbiriyle ilişkilidir ancak aynı şey değildir.

RFC793'e göre

RFC793

Onay Numarası: 32 bit

If the ACK control bit is set this field contains the value of the
next sequence number the sender of the segment is expecting to
receive.  Once a connection is established this is always sent.

İşlemi Sıfırla

SYN-SENT dışındaki tüm durumlarda, tüm sıfırlama (RST) segmentleri, SEQ alanlarını kontrol ederek doğrulanır. Sıra numarası pencerede ise, sıfırlama geçerlidir. SYN-SENT durumunda (ilk SYN'ye cevap olarak alınan bir RST), ACK alanı SYN'yi kabul ederse, RST kabul edilebilir.

Bir RST alıcısı önce onu doğrular, sonra durumu değiştirir. Alıcı LISTEN durumundaysa, dikkate almaz. Alıcı SYN-RECEIVED durumundaysa ve önceden LISTEN durumundaysa, alıcı LISTEN durumuna geri döner, aksi takdirde alıcı bağlantıyı keser ve CLOSED durumuna gider. Alıcı başka bir durumda ise, bağlantıyı keser ve kullanıcıya tavsiyede bulunur ve KAPALI durumuna gider.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.