Mô phỏng sự cố mạng cho một ứng dụng cụ thể


2

Đây là một câu hỏi dành cho nhà phát triển, nhưng vì nó liên quan nhiều hơn đến các hệ điều hành và kết nối mạng, tôi sẽ đăng nó ở đây chứ không phải trên Stack Overflow.

Tôi đang cố gắng mô phỏng một tình huống khi kết nối mạng bị đóng do sự cố hoặc lỗi mạng, để kiểm tra hành vi tôi đã thực hiện trong một trong các ứng dụng của mình. Tôi chỉ có thể ngắt kết nối cáp mạng hoặc tắt giao diện mạng, nhưng tôi đã khiến ứng dụng của mình kết nối lại ngay lập tức sau khi thực hiện việc này sẽ mất quá nhiều thời gian cho đến khi mạng sẽ hoạt động trở lại (vì đàm phán DHCP và v.v.).

Có cách nào, trong Unix hoặc OS X, chỉ cần ngắt kết nối một ứng dụng cụ thể khỏi internet và sau đó cho phép nó kết nối lại ngay lập tức? Có thể để mô phỏng lỗi "thiết lập lại kết nối bằng ngang hàng" hoặc một cái gì đó (Tôi không phải là chuyên gia khi nói về mạng, rất tiếc cho ngôn ngữ người mới của tôi).

Cảm ơn bạn.


2
nhiều chương trình tường lửa có thể vô hiệu hóa các ứng dụng cụ thể khỏi việc sử dụng mạng ... bạn đã thử chúng chưa? Linux / mac không phải là sở trường của tôi, nhưng tôi biết bạn có thể làm điều đó trong Windows, vì vậy tôi chắc chắn rằng nó có thể được thực hiện trong chúng. Ngoài ra, điều này có thể dễ dàng thực hiện trong một máy ảo.
Keltari

Câu trả lời:


0

Nhiều cách khác nhau để làm điều đó, nhưng cách đơn giản nhất xảy ra với tôi là sử dụng ifconfig (ipconfig trên windows) Cú pháp sẽ thay đổi phần nào, nhưng

ifconfig eth0 down

Bạn có thể làm những điều tương tự với tuyến đường, bằng cách xóa tuyến đường đến máy chủ của ứng dụng.

Hoặc bạn có thể xóa bộ đệm arp, (xem man arp) sau đó có một máy chủ khác (thật hoặc ảo) giả mạo MAC của máy đó.

Có một gói gọi cuộc gọi (tôi nghĩ trong phiên bản 3 bây giờ) có thể mô phỏng các loại gói khác nhau. Bạn có thể sử dụng điều này để đặt các gói đặt lại từ đích trở về máy chủ đang chạy ứng dụng.

Vì vậy, bạn có thể đặt nó trong một kịch bản

ifconfig eth0 down
sleep 5
ifconfig eth0 up

Nếu bạn có máy chủ trên mạng của mình, bạn có thể tắt quy trình trên máy chủ. Ví dụ: dừng máy chủ httpd nếu ứng dụng của bạn là ứng dụng web.

Các poster trước đó về làm việc với tường lửa trên máy mà các gói của ứng dụng của bạn phải truyền tải.

Cũng tìm kiếm các cuộc tấn công tiêm chích, và từ chối các cuộc tấn công dịch vụ.

Nếu máy chủ hoặc máy chủ trung gian chạy linux, bạn và chạy pf trên máy chủ đó. Bằng cách tải và dỡ bỏ một quy tắc nhất định, bạn có thể mở hoặc đóng kết hợp cổng / giao thức / ip đã cho. Bạn cũng có thể điều tiết một kết nối, chỉ cho phép rất nhiều gói mỗi giây ..

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.