Cách sử dụng netcat

*

Trong trả lời này, chúng ta sẽ nói đến một công vậy mạng Netcat hết sức mạnh, hay được oimlya.comết tắt là nc. Chính sách này được sử dụng trải qua dòng lệnh và cú pháp của nó rất đối kháng giản. Nó sẽ đến phép chúng ta ghi cùng nhận dữ liệu thông qua các socket (TCP hoặc UDP). Nó có không ít tính năng và bởi vì đó bạn có thể sử dụng nó theo khá nhiều cách. Điều đặc biệt quan trọng là phải ghi nhận nó hoạt động như nỗ lực nào, vị nó sẽ đến phép bọn họ tranh luận, thể nghiệm và nghiên cứu trên web.

Bạn đang xem: Cách sử dụng netcat

Netcat có thể chuyển động theo 2 cách:

Khách hàng

Trong cơ chế này, nó sẽ chịu trách nhiệm kết nối với người nghe (đang lắng tai tại một địa chỉ và IP núm thể, và chúng ta sẽ cần phải biết).

Máy công ty hoặc bạn nghe

Chờ liên kết máy khách hàng tại một cổng duy nhất định.

Chúng ta vẫn tìm hiểu buổi giao lưu của Netcat hoặc nc trải qua các ví dụ thực tế, đó là cách tốt nhất có thể để học. Đối với điều này, tôi sẽ thực hiện hệ điều hành Ubuntu 16.04.

Điều đầu tiên chúng ta sẽ thấy là cú pháp netcat: nc <đích> Netcat có khá nhiều tùy chọn, chúng ta hãy xem một số:

Một số tùy lựa chọn netcar

-l : Nói với netcat rằng nó vẫn bắt buộc lắng nghe.-p : Để chỉ cổng nguồn.-s : Để chỉ add nguồn.-k : Để cho phép kết nối "vô hạn" người nghe (được thực hiện với -l).-u : Netcat mở cổng dưới dạng UDP thay vì TCP (theo mang định).-v : với tùy chọn này, bạn sẽ hiển thị cho chúng tôi thông tin kết nối.-i : Để chỉ sự lờ đờ gửi với nhận. (Tính bằng giây)-4 : Netcat chỉ áp dụng IPv4.

Xem thêm: Thế Nào Là Lãi Ròng - Tổng Hợp Các Kiến Thức Cần Biết Về Lãi Ròng

-6 : y như lần trước nhưng buộc phải thực hiện IPv6.

Có các tùy chọn hơn mà chúng ta cũng có thể thấy bằng cách thực hiện tại lệnh sau: nc -h dưới đây chúng ta có thể thấy trong hình ảnh:

title

Hãy bước đầu với những ví dụ, đầu tiên chúng sẽ đơn giản nhất, phức tạp, mà lại chỉ một ít thôi, các bạn sẽ thấy rằng nó rất dễ sử dụng.

Ví dụ 1 Đặt máy của mình để nghe bên trên cổng 87: sudo nc -l -p 87

lưu ý

Nó sẽ hoạt động theo giải pháp tương tự bằng phương pháp loại bỏ -p .

title

title

Chúng tôi thấy rằng họ giao tiếp như shop chúng tôi muốn trong lấy một ví dụ này, chúng ta hãy đi cho tất cả những người khác.

Ví dụ 2 chúng ta có thể làm cho sever hoặc tín đồ nghe lưu dữ liệu được gửi bởi máy khách hàng trong một tệp, vì vấn đề này lệnh triển khai không khác những so cùng với thấy trong lấy một ví dụ đầu tiên: sudo ncọl 87> kiểm soát

Lưu ý

kiểm tra là tên của tệp nơi các bạn sẽ lưu thông tin đến.

Về phía thứ khách, lệnh sẽ y hệt như trước: nc localhost 87 Hình ảnh sau đây cho biết thêm những gì đang được thực hiện trên lắp thêm khách (người nghe vẫn lắng nghe trước lúc kết nối, nếu không nó sẽ không có hiệu lực):

title

Và về phía thứ chủ, bạn cũng có thể thấy rằng hình như không có gì được nhận, nhưng lại điều chắc hẳn rằng duy duy nhất là nó không được hiển thị trên màn hình hiển thị và được giữ trong tệp thử nghiệm:

title

Hãy liên tục với một ví dụ khác.

Ví dụ 3 cửa hàng chúng tôi sẽ khám nghiệm xem một loạt các cổng, để biết chúng gồm mở hay không, trong lấy một ví dụ này, phạm oimlya.com đã là 80-90. Đầu tiên cửa hàng chúng tôi mở một máy chủ trên cổng 80 như cửa hàng chúng tôi đã làm trong ví dụ thứ nhất (vì vậy cửa hàng chúng tôi sẽ xem nó chuyển động như nỗ lực nào lúc nó mở và khi nó ko hoạt động): sudo nc -l 87 cùng trong vận dụng khách, công ty chúng tôi sẽ thực thi: nc -z -v localhost 80-90 thông số -z được sử dụng để quét với -v như bọn họ đã thấy trước đó để hiển thị tin tức (nếu chúng ta không để cổng này sẽ không hiển thị cổng nào vẫn mở cùng cổng nào không), thì hình ảnh của đồ vật khách:

$config not found

title

Hãy đưa sang coi một ví dụ vào UDP .

Ví dụ 4 ví dụ này cũng solo giản, công ty chúng tôi sẽ lắng nghe UDP trên cổng năm nhâm thìn và công ty chúng tôi sẽ buộc nó yêu cầu là showroom IPv4: sudo nc -l -u -4 2016 Và hiện nay chúng tôi có kết nối máy khách: nc -u -4 năm 2016 Tôi không cung ứng hình ảnh, vì vấn đề chụp sẽ giống hệt như trong ví dụ như 1, oimlya.comệc đổi khác phần lệnh là rõ ràng. Hãy gửi sang một ví dụ như nơi họ sử dụng mã trong Python.

Ví dụ 5 shop chúng tôi sẽ để mã dễ dàng nhất có thể trong Python nhằm nghe kết nối, nhận tài liệu và hoàn tất. nhập ổ cắn s = socket.socket () s.bind (("192.168.56.1", 1987)) s.listen (1) Conn, addr = s.accept () data = Conn.recv (1024) .decode (" in utf-8 ") (dữ liệu) Tôi sẽ thực thi mã này trên Windows và tiếp đến từ Linux Tôi sẽ kết nối với nó thông qua netcat, hình ảnh sau đây cho biết thêm phía trang bị khách trên Linux:

$config not found

title

Và đầy đủ gì sẽ thấy trong Windows:

title

Nếu chúng ta sửa thay đổi mã, một chiếc gì đó chúng ta có thể làm mang đến nó thực thi một lệnh và gửi cho bọn họ nội dung của nó, nhưng họ cũng có thể trả về một vỏ, vấn đề đó sẽ đến phép họ làm những oimlya.comệc, bởi vậy hãy gửi sang ví dụ như sau.

Ví dụ 6 Trong lấy ví dụ này, tôi sẽ thực hiện mã Python trên và một máy Linux với tôi sẽ liên kết với netcat, shop chúng tôi sẽ xác minh rằng Shell trả về cho cửa hàng chúng tôi (/ bin / bash). Sau đó, tôi để lại mã Python, đơn giản và dễ dàng và ngắn nhất bao gồm thể, chỉ để triển khai ví dụ. nhập ổ cắm, quy trình con s = socket.socket (socket.AF_INET) s.setsockopt (socket.IPPROTO_IP, socket.SO_REUSEADDR, 1) s.bind (("", 1987)) s.listen (1) Conn, addr = s .accept () phường = sub process.Popen (<"/ bin / bash">, stdin = Conn, stdout = Conn, stder = Conn) Mã Python được tiến hành và bắt gặp những điều dưới đây (hình hình ảnh cho thấy nó trông thế nào khi liên kết từ netcat):

$config not found

title

Chúng tôi thấy rằng nó được lắng tai khi thực hiện nó, nhưng khi vật dụng khách được kết nối, kết nối sẽ bị đóng và công ty chúng tôi có Shell cho oimlya.comệc đó tôi.

title

Chúng tôi cũng có thể tạo một mã sẽ liên kết với vật dụng của chúng tôi, cửa hàng chúng tôi sẽ nghe trong một cổng duy nhất định, nói chung có nhiều khả năng, bây chừ bạn phải khảo sát và chơi game với netcat, như chúng ta có thể thấy hoàn toàn có thể giúp shop chúng tôi trong các khoảnh tương khắc .