phát triển scapy

tổ chức dự án
phát triển Scapy sử dụng hệ thống kiểm soát phiên bản Mercurial. kho tài liệu tham khảo Scapy là tại http://hg.secdev.org/scapy/.
quản lý dự án được thực hiện với Trác. Trác hoạt động trên kho lưu trữ tài liệu tham khảo Scapy của. Nó cung cấp một liên kết tự do có thể chỉnh sửa (xin vui lòng đóng góp!) Có thể tham khảo vé, changesets, tập tin từ dự án. Nó cũng cung cấp một dịch vụ quản lý vé được sử dụng để tránh quên các bản vá lỗi hoặc lỗi.
cách phân Mercurial của làm việc cho phép Philippe để cung cấp hai kho nơi mà ai cũng có thể cam kết thứ: kho cộng đồng Scapy và kho cảng Scapy Windows.
Làm thế nào để đóng góp
Tìm thấy một lỗi trong Scapy? Thêm một vé.
Cải thiện tài liệu này.
Chương trình một layer mới và chia sẻ nó trên danh sách gửi thư. Hoặc thêm nó như là một sự nâng cao về bugtracker.
Góp phần kiểm tra hồi quy mới.
Tải mẫu gói cho giao thức mới trên trang mẫu gói.
Thử nghiệm với UTScapy
UTScapy là gì?
UTScapy là một chương trình Python nhỏ mà đọc một chiến dịch kiểm tra, chạy chiến dịch với Scapy và tạo ra một báo cáo cho thấy tình trạng kiểm tra. Báo cáo có thể được ở một trong bốn định dạng, văn bản, ansi, HTML hay LaTeX.
Ba container thử nghiệm cơ bản tồn tại với UTScapy, một thử nghiệm đơn vị, một bộ thử nghiệm và một chiến dịch kiểm tra. Một xét nghiệm đơn vị là một danh sách các lệnh Scapy sẽ được chạy bằng Scapy hoặc một tác phẩm có nguồn gốc của Scapy. Đánh giá của lệnh cuối cùng trong các đơn vị kiểm tra sẽ quyết định kết quả cuối cùng của bài kiểm tra đơn vị cá nhân. Một bộ kiểm tra là một nhóm các đơn vị xét nghiệm với một số hiệp hội. Một chiến dịch thử nghiệm bao gồm một hoặc nhiều bộ test. bộ kiểm tra và xét nghiệm đơn vị có thể được đưa ra từ khóa để hình thành các nhóm logic. Khi chạy một chiến dịch, kiểm tra có thể được lựa chọn theo từ khóa. Điều này cho phép người sử dụng để chạy thử nghiệm trong một nhóm mong muốn.
Đối với mỗi bài kiểm tra đơn vị, tập kiểm tra và chiến dịch, một CRC32 của các thử nghiệm được tính toán và hiển thị như một chữ ký của kiểm tra đó. chữ ký thử nghiệm này là đủ để xác định là chạy thử nghiệm thực tế là một trong những mong đợi và không phải một mà đã được sửa đổi. Trong trường hợp của bạn đối phó với những kẻ ác mà cố gắng để sửa đổi hoặc bị hỏng các tập tin mà không thay đổi CRC32, một SHA1 toàn cầu được tính trên toàn bộ tập tin.
Cú pháp của một chiến dịch thử nghiệm
Bảng 1 cho thấy các chỉ số cú pháp UTScapy là tìm kiếm. Sự xác định cú pháp phải xuất hiện như là nhân vật đầu tiên của mỗi dòng của file văn bản định nghĩa các thử nghiệm. mô tả văn bản mà theo sự xác định cú pháp lập luận giải thích bởi UTScapy. Line xuất hiện mà không có một đặc tả cú pháp hàng đầu sẽ được đối xử như các lệnh Python, miễn là chúng xuất hiện trong bối cảnh của một thử nghiệm đơn vị. Dòng mà không có một đặc tả cú pháp xuất hiện bên ngoài bối cảnh chính xác sẽ bị từ chối bởi UTScapy và một cảnh báo sẽ được ban hành.
Cú pháp Specifier Definition
'%' Cho tên chiến dịch thử nghiệm của.
'+' Công bố một loạt thử nghiệm mới.
'=' Công bố một thử nghiệm đơn vị mới.
'~' Thông báo từ khóa cho các đơn vị kiểm tra hiện hành.
'*': Là dùng một bình luận sẽ được đưa vào báo cáo.
'#' Testcase chú thích được loại bỏ bởi các thông dịch viên.
Bảng 1 - UTScapy Cú pháp Specifiers
Cảm Nhận đặt trong các báo cáo thử nghiệm có một bối cảnh. Mỗi bình luận sẽ được liên kết đến các container thử nghiệm gàng cuối cùng - có thể là một thử nghiệm đơn vị cá nhân, một thử nghiệm thiết lập hoặc một chiến dịch kiểm tra. Nhiều ý kiến liên kết với một container cụ thể sẽ được nối với nhau và sẽ xuất hiện trong các báo cáo trực tiếp sau khi công bố chứa thử nghiệm. Nhận xét chung cho một tập tin thử nghiệm sẽ xuất hiện trước khi công bố một chiến dịch kiểm tra. Đối với ý kiến có liên quan đến một chiến dịch kiểm tra, họ phải xuất hiện sau khi khai báo của các chiến dịch kiểm tra nhưng trước bất kỳ thiết lập thử nghiệm hoặc kiểm tra đơn vị. Bình luận cho một bộ kiểm tra sẽ xuất hiện trước khi định nghĩa của đơn vị kiểm tra đầu tiên của bộ.

Các định dạng chung cho một chiến dịch thử nghiệm được thể hiện trong bảng sau:
% Kiểm tra Tên Campaign
* Bình luận mô tả chiến dịch này


+ Kiểm tra Set 1
* Nhận cho thử nghiệm thiết lập 1

= Unit Test 1
~ từ khóa
* Bình luận cho đơn vị kiểm tra 1
báo cáo # Python theo
a = 1
in một
a == 1
báo cáo Python được xác định bởi việc thiếu một đặc tả cú pháp UTScapy xác định. Các báo cáo Python được cho ăn trực tiếp đến thông dịch Python như là một trong những hoạt động bên trong vỏ Scapy tương tác (tương tác). Looping, lặp đi lặp lại và điều kiện được cho phép nhưng phải được chấm dứt bằng một dòng trống. Một bộ kiểm tra có thể được bao gồm nhiều đơn vị xét nghiệm và nhiều bộ kiểm tra có thể được xác định cho mỗi chiến dịch. Nó thậm chí có thể có nhiều chiến dịch thử nghiệm trong một tập tin định nghĩa thử nghiệm cụ thể. Việc sử dụng các từ khóa cho phép kiểm tra các tập con của toàn bộ chiến dịch. Ví dụ, trong sự phát triển của một chiến dịch kiểm tra, người sử dụng có thể muốn đánh dấu thử nghiệm mới được phát triển với từ khóa "gỡ rối". Khi chạy thử nghiệm thành công với kết luận của họ mong muốn, từ khóa "gỡ rối" có thể được loại bỏ. Từ khóa như "hồi quy" hay "giới hạn" có thể được sử dụng như là tốt.
Điều quan trọng cần lưu ý là UTScapy sử dụng giá trị thật từ những tuyên bố Python cuối cùng là chỉ số để xem liệu một thử nghiệm được thông qua hay không. Nhiều bài kiểm tra logic có thể xuất hiện trên những dòng cuối cùng. Nếu kết quả là 0 hay sai, thử nghiệm thất bại. Nếu không, kiểm tra đi. Sử dụng một tuyên bố khẳng định () có thể buộc đánh giá các giá trị trung gian nếu cần thiết.

Cú pháp cho UTScapy được thể hiện trong Bảng 3 - UTScapy cú pháp dòng lệnh:
[Root @ localhost scapy] # ./UTscapy.py -h
Cách sử dụng: UTscapy [-m Module] [-f {text | ansi | HTML | LaTeX}] [-o output_file]
                [-t Testfile] [từ khóa -k [-k ...]] [-K từ khóa [-K ...]]
                [-l] [-d | -D] [-F] [-q [Q]]
-l: tạo tập tin địa phương
-F: Mở rộng kiểm tra chỉ thất bại
-d: chiến dịch bãi
-D: Đổ chiến dịch và ngăn chặn
-C: Không tính toán CRC và SHA
-q: chế độ yên tĩnh
-qq: [chế độ im lặng]
-n <testnum>: chỉ thử nghiệm mà các con số được đưa ra (. ví dụ 1,3-7,12)
-m <module>: phần phụ thêm để đặt trong không gian tên
-k <kw1>, <kw2>, ...: chỉ bao gồm các bài kiểm tra với một trong những từ khóa (có thể được sử dụng nhiều lần)
-K <Kw1>, <kw2>, ...: loại bỏ các thử nghiệm với một trong những từ khóa (có thể được sử dụng nhiều lần)
Bảng 3 - UTScapy dòng lệnh cú pháp

Tất cả các đối số là tùy chọn. Lập luận rằng không có giá trị đối số liên quan có thể được kết hợp với nhau (nghĩa là -lqF). Nếu không có testfile được quy định, định nghĩa thử nghiệm đến từ <STDIN>. Tương tự như vậy, nếu không có tập tin đầu ra được xác định nó là hướng đến <STDOUT>. Các định dạng đầu ra mặc định là "ansi". Bảng 4 liệt kê các đối số, giá trị đối số liên quan và ý nghĩa của chúng để UTScapy.
Luận Giá trị lý luận nghĩa để UTScapy
-t testfile đầu vào kiểm tra tập tin xác định chiến dịch thử nghiệm (mặc định = <STDIN>)
-o output_file tin cho ra những kết quả chiến dịch thử nghiệm (mặc định = <STDOUT>)
-f kiểm tra ansi, HTML, LaTeX, Định dạng ra báo cáo đầu ra (mặc định = ansi)
-L Tạo báo cáo tập tin liên quan tại địa phương. Đối với HTML, tạo Javascript và phong cách trang
trường hợp kiểm tra -F không thành công sẽ được bước đầu mở rộng theo mặc định trong đầu ra HTML
-d In một danh sách ngắn gọn của chiến dịch trước khi thực hiện chiến dịch
-d In một danh sách ngắn gọn của các chiến dịch và dừng lại. Đừng thực hiện chiến dịch
-c Không tính toán chữ ký thử nghiệm
-q Không cập nhật tiến độ thử nghiệm để màn hình như các bài kiểm tra được thực hiện
-qq Chế độ im lặng
testnum -n Thực hiện chỉ có những xét nghiệm được liệt kê bởi số. số đo có thể được lấy ra sử dụng -d hoặc -D. Các xét nghiệm có thể được liệt kê như là một danh sách phân cách bởi dấu phẩy và có thể bao gồm các phạm vi (ví dụ 1, 3-7, 12)
-m mô-đun tải mô-đun trước khi thực hiện các bài kiểm tra. Hữu ích trong việc kiểm tra các công trình nguồn gốc của Scapy. Lưu ý: các công trình nguồn gốc được dự định để thực thi như "__main__" sẽ không được gọi bởi UTScapy là "__main__".
-k kw1, kw2, ... Bao gồm các chỉ thử nghiệm với từ khóa "kw1". Nhiều từ khóa có thể được xác định.
-K Kw1, kw2, ... Loại trừ các thử nghiệm với từ khóa "kw1". Nhiều từ khóa có thể được xác định.

Comments

Popular posts from this blog

Npcap

Monitor mode

Thiết lập card không dây trên Kali Linux