VPN-ის ჩაწერაში ცუდი საკონტროლო ჯამი ფაილის დაზიანება არ არის
ჩაწერამ შეიძლება პაკეტი დაინახოს მანამ, სანამ ადაპტერი დაასრულებს მას. გამოყავით ანალიზატორის განაჩენი მიღებული ფაილისგან და დაამტკიცეთ მთლიანობა ჰეშით.
ანალიზატორი პაკეტს ცუდი საკონტროლო ჯამის მქონედ აღნიშნავს, ჩამოტვირთული ფაილი კი არასწორად გამოიყურება, ამიტომ ორი დაკვირვება VPN-ზე დაზიანების შესახებ ერთ ისტორიად ერწყმის. ეს სხვადასხვა წერტილში აღებული სხვადასხვა გაზომვაა. ერთი აღწერს, რაც ჩაწერის მექანიზმმა დაინახა მანამ, სანამ ქსელის ადაპტერმა თავისი სამუშაო დაასრულა; მეორე აღწერს ბაიტებს, რომლებიც აპლიკაციამ შეინახა. იმის დადგენა, რომელი მათგანი რეალურად შეიცვალა, მთელი დიაგნოზია.
სად დგას ჩაწერა ადაპტერის მიმართ
პაკეტების ჩაწერა არის ერთი წერტილის მყისიერი სურათი გზაზე, რომელიც რამდენიმე გარდაქმნას შეიცავს. ჰოსტის სტეკსა და მავთულს შორის არის სეგმენტაცია, საკონტროლო ჯამის გამოთვლა და მიღებისას გაერთიანება. ჩაწერის წერტილი იმ მომენტის მდგომარეობას აჩვენებს, რომელიც იშვიათად ემთხვევა მავთულის საბოლოო ჩარჩოს. მისი ისე წაკითხვა, თითქოს თავად მავთულია, ზუსტად ის გზაა, რომლითაც შემავსებელი ველი ბრალდებად იქცევა.
ამიტომ ნებისმიერ საეჭვო ველზე სასარგებლო კითხვა არ არის, არასწორად ჩანს თუ არა, არამედ სად დაფიქსირდა. ჩაწერის ინტერფეისი, ანალიზატორის ვერსია და პაკეტის დონე ჩანაწერის გვერდით ჩაწერეთ; ამ სამის გარეშე საკონტროლო ჯამის იარლიყი საერთოდ არ იკითხება.
რას აკეთებს გადაცემის ოფლოუდი კვალთან
როდესაც გადაცემის საკონტროლო ჯამის ოფლოუდი ჩართულია, ადაპტერი ითვლის საკონტროლო ჯამს და ავსებს ველს მას შემდეგ, რაც ჰოსტმა პაკეტი რიგში ჩასვა. ამიტომ ჰოსტის მხარეს ჩაწერა შემავსებელს აფიქსირებს და ანალიზატორი იტყობინება საკონტროლო ჯამზე, რომელიც მავთულს არასდროს უტარებია. სეგმენტაციის ოფლოუდი მსგავს არტეფაქტს ქმნის, რადგან ჰოსტს შეუძლია ადაპტერს ერთი დიდი ბუფერი გადასცეს, რომელიც მოგვიანებით რამდენიმე ჩარჩოდ იქცევა.
Wireshark-ის ოფლოუდის ცნობარი ორივე ეფექტს აღწერს და აღნიშნავს, რომ ნაწილობრივი საკონტროლო ჯამების ამოცნობა დამოკიდებულია ანალიზატორის ვერსიასა და პაკეტის ტიპზე. ამიტომ ძველ ჩამწერსა და ახალს შეიძლება ერთი და იმავე კვალზე განსხვავებული აზრი ჰქონდეთ, თუმცა ორივე მას სწორად კითხულობს.
ინკაფსულაცია მეორე ობიექტს ამატებს
VPN სურათში მეორე პაკეტს შეიტანს. გვირაბის ინტერფეისი აჩვენებს შიდა პაკეტს, რომელიც აპლიკაციამ რეალურად გაგზავნა, ხოლო ფიზიკური ინტერფეისი აჩვენებს გარე ინკაფსულირებულ კავშირს, რომელიც მას ატარებს. შიდა პაკეტიდან აღებული საკონტროლო ჯამი ან სიგრძე გარე ჩარჩოს არ ეკუთვნის და ორივეს შედარება ისე, თითქოს ერთ ობიექტს აღწერენ, უაზრობას იძლევა.
როცა შედარება გჭირდებათ, შეადარეთ მსგავსი მსგავსს: შიდა შიდას, გარე გარეს, გზის იმავე წერტილში. შეუსაბამო ველების წყვილი მხოლოდ იმას ამტკიცებს, რომ ორი განსხვავებული ობიექტი გაიზომა. დააფიქსირეთ, რომელი ინტერფეისიდან მოვიდა თითოეული კვალი, რადგან სუფთად მოჩვენებული გვირაბის ჩაწერა არაფერს ამბობს იმაზე, რაც ადაპტერმა გამოსცა.
დაამტკიცეთ ფაილის მთლიანობა ჰეშებით
თავად ფაილისთვის გამოთვალეთ შიგთავსის ჰეში გამეორებადი წყაროდან და შენახული შედეგიდან, შემდეგ შეადარეთ დაიჯესტები. ეს პასუხობს სხვა კითხვას, ვიდრე ნებისმიერი პაკეტური იარლიყი, და პასუხობს მას იმ ობიექტზე, რომელიც მომხმარებლისთვის ნამდვილად მნიშვნელოვანია.
sha256sum payload.bin
sha256sum /srv/transfer/payload.bin
cmp -l payload.bin /srv/transfer/payload.bin | head
ტოლი დაიჯესტები ხურავს დაზიანების კითხვას ამ გადაცემისთვის. განსხვავებული დაიჯესტები უფრო ვიწროს ხსნის: იპოვეთ ყველაზე ადრეული ეტაპი, სადაც ბაიტები იშლება, და შეამოწმეთ, გარდაქმნა თუ არა რამ ფაილი განზრახ. ნაწილობრივი შენახვა, ხელახლა კოდირებული დანართი და მოსალოდნელი ფაილის სახელით შენახული შეცდომის გვერდი — ყველა ცვლის ბაიტებს ქსელური ხარვეზის გარეშე.
ლოკალიზაცია გაუკეთეთ ადაპტერის გზას მუდმივად ქცევის გარეშე
ერთ დოკზე ან ადაპტერზე მიბმული განმეორებადი პრობლემისთვის დააფიქსირეთ VPN პროფილი, აპლიკაცია, სატესტო ობიექტი და დანიშნულება, შემდეგ გაიმეორეთ გადაცემა მხარდაჭერილი ალტერნატიული ინტერფეისით. შედეგი, რომელიც ადაპტერთან ერთად იცვლება, ხარვეზს ამ გზაზე ზღუდავს; ის ჯერ არ განსაზღვრავს დრაივერის პარამეტრს და არ ამტკიცებს მთელი მოდელის ხარვეზს.
ოფლოუდის გლობალურად გამორთვა მაცდუნებელი ტესტი და ცუდი ნაგულისხმევია. მთელი ჰოსტის პარამეტრი გავლენას ახდენს ექსპერიმენტს ბევრად სცილდება ტრაფიკზე და შეიძლება რეალური წარმადობის ხარჯი იტვირთოს, ამიტომ ნებისმიერ ასეთ ცვლილებას დროებითად მოეპყარით, ჩაწერეთ და დააბრუნეთ. სანამ სხვა მანქანიდან ნასესხებ გვერდის ავლის გადაწყვეტას შეინარჩუნებთ, გამოიყენეთ მწარმოებლის მხარდაჭერილი დიაგნოსტიკა.
ანგარიშმა უნდა მიუთითოს, სამი შედეგიდან რომელი შეიცვალა: ანალიზატორის მიერ პაკეტის ინტერპრეტაცია, აპლიკაციის დასრულებული ბაიტები თუ ერთი ადაპტერის გზის განმეორებადობა. ეს სამ სხვადასხვა შემდეგ ნაბიჯს იწვევს და მათგან მხოლოდ ერთი ეხება დაშიფვრას.