- Siêu lớp và danh mục iOS/Objective-C
- object-c - -1001 lỗi khi NSURLSession vượt qua httpproxy và /etc/hosts
- java - Nhận địa chỉ url bằng lớp mạng
- ios - Âm thanh không phát trong thông báo đẩy
Tôi đang tìm hiểu về cách triển khai ping trong C. Vấn đề là tôi đang sử dụng ổ cắm thô để nhận gói. Đối với tất cả các gói chúng tôi có Tiêu đề ICMP
Có một giá trị nhận dạng trong .
Tôi chạy trong nhiều thiết bị đầu cuốiping
.
Ví dụ: tôi chạy ba trong ba thiết bị đầu cuối ping google.com
.
Giá trị nhận dạng của ping đầu tiên là 23456, giá trị nhận dạng của ping thứ hai là 34564 và giá trị nhận dạng của ping thứ ba là 98763.
Vấn đề của tôi là ping thứ hai phải nhận được ID là 34564 gói, nhưng nó nhận được giá trị ID là 23456.
Đối với mỗi ping, một ổ cắm thô mới đang được tạo. Nhưng nó nhận được một gói ping khác.
Có ai có thể giải thích tại sao nó lại nhận được gói ping khác không?
gia hạn: -
Tôi có một câu hỏi nữa. Câu hỏi là,
Ổ cắm thô đọc gói từ đâu và làm cách nào để xác định gói đó dành cho ổ cắm thô này?
Cập nhật 1: -
Đây là liên kết đến mã.
câu trả lời hay nhất
Những gì bạn đang thấy là thiết kế của ổ cắm thô, vì ổ cắm thô được thiết kế để nhận tất cả các gói thô. Do đó, để chỉ nhận phản hồi cho một số gói ICMP nhất định, bạn cần áp dụng bộ lọc trên ổ cắm. Đầu tiên, bạn có thể sử dụng ICMP_FILTER
Tùy chọn ổ cắm để hạn chế việc tiếp nhận một số loại ICMP nhất định:
bộ lọc cấu trúc icmp_filter;
filter.data = ;
setsockopt(sock, SOL_RAW, ICMP_FILTER, &filter, sizeof filter)
Thứ hai, bạn có thể đính kèm bộ lọc ổ cắm để buộc chỉ nhận các gói có ID ICMP nhất định:
bộ lọc struct sock_fprog;
// đặt bộ lọc để kiểm tra ID bằng ID của chính bạn
setsockopt(sock, SOL_SOCKET, SO_ATTACH_FILTER, &filter, sizeof filter);
Về c - tại sao ping nhận được gói lệnh ping khác? , chúng tôi đã tìm thấy một câu hỏi tương tự trên Stack Overflow: https://stackoverflow.com/questions/37044016/
Chúng tôi có một khách hàng muốn xem qua cơ sở dữ liệu CRM của họ và bằng cách nào đó xác định các số điện thoại hợp lệ mà không cần có ai thực sự ngồi đó cố gắng gọi cho họ. Có cách nào để thực hiện thao tác tương tự như "ping" trên số điện thoại (bao gồm cả số điện thoại cố định) không? Câu trả lời hay nhất bạn sẽ
Tôi biết rằng yêu cầu ICMP chứa địa chỉ IP. Địa chỉ MAC của máy khách có được bao gồm trong yêu cầu ICMP không? Thông tin nào khác, nếu có, được bao gồm trong yêu cầu ping? Câu trả lời hay nhất Gói "ping" ICMP, chính thức được gọi là "echo re
Theo như tôi biết, lệnh ping sử dụng các yêu cầu ICMP nên có thể gửi một văn bản ngắn bằng lệnh ping trực tiếp từ dòng lệnh không? Câu trả lời hay nhất Còn mẫu ping -p thì sao? Hãy nhớ rằng không phải tất cả các phiên bản ping đều hỗ trợ tùy chọn -p
Tôi có một ứng dụng Android yêu cầu giám sát mạng liên tục, tôi cần được thông báo khi có internet và khi không có internet. Tôi đã thử trình quản lý kết nối Android và nó chỉ thông báo với internet nếu wifi được kết nối chứ không thông báo nếu có khả năng truy cập. vì vậy tôi
Tôi cần kiểm tra độ trễ của máy chủ từ chối yêu cầu PING, có cách nào khác để kiểm tra độ trễ của tôi với máy chủ không? Cảm ơn trước. Câu trả lời hay nhất sử dụng ping dựa trên TCP. Nếu bạn có quyền truy cập vào hộp Windows, hãy sử dụng http://t
Tôi không được phép sử dụng ứng dụng "ping" trên hệ thống Linux của mình (ping: icmp open socket: không được phép thao tác). Tuy nhiên, tập lệnh tôi đang viết (PHP, nhưng tôi có thể sử dụng lệnh gọi exec() tới bất kỳ tập lệnh/chương trình nào nếu cần) cần đảm bảo
Tôi muốn tạo một tập lệnh bash sẽ xác minh bằng cách ping danh sách IP. Vấn đề là mặc dù tôi xác định ping như sau nhưng phải mất vài giây để ping bất kỳ địa chỉ nào (trong trường hợp không có câu trả lời ping): Ping –c. 1 126,7
Trong những tuần gần đây, tôi đã thực hiện khá nhiều nghiên cứu để cố gắng tạo một công cụ chẩn đoán kết nối. Tôi thực sự không muốn chỉ kiểm tra xem kết nối có khả dụng hay không mà chẩn đoán xem có hiện tượng giật hình, mất gói, v.v.. Cho đến nay, Java dường như không hỗ trợ ICMP thực sự được yêu cầu và đã có một số cách giải quyết nhưng không có cách nào
Tôi có một tên miền để kiểm tra. Ping là khoảng 20 mili giây. "HTTP HEAD" là khoảng 500 mili giây. Tại sao có sự khác biệt lớn như vậy giữa chúng? Đây có phải là sự cố phía máy chủ không? Sự khác biệt có quá lớn không? 25 lần. Câu trả lời hay nhất Vâng, trước hết
Tôi muốn nhận được thời gian thực hiện ping và chuỗi kết quả sau khi ping máy chủ. Tôi nên làm gì? Câu trả lời hay nhất long currentTime = System.currentTimeMillis(); boolean là
Tôi có đoạn mã sau: $Servers = "8.8.8.8" $TimeStart = Get-Date $TimeEnd = $TimeStart.AddMinutes(1) Do { Fore
Ví dụ: nếu tôi nhập ping www.domain.com, kết quả tôi muốn như sau: 64 byte từ yyy.xxx.com (www.domain.com): icmp_seq=32 ttl=52
Trên một số thiết bị, tệp nhị phân /system/bin/ping dường như đã bị xóa. Khi tôi kết nối thiết bị qua USB và gõ adb shell ping, nó báo: /system/bin/sh: ping: not fou
Xin chào, tôi cần thực thi lệnh PING bằng mã Java và lấy bản tóm tắt về máy chủ được ping. Làm cách nào để triển khai nó trong Java? Câu trả lời hay nhất Theo viruspatel, bạn có thể sử dụng Runtime.exec() bên dưới
Tôi đang tìm hiểu về cách triển khai ping trong C. Vấn đề là tôi đang sử dụng ổ cắm thô để nhận gói. Đối với tất cả các gói, chúng tôi có giá trị nhận dạng trong tiêu đề ICMP. Tôi chạy ping trong nhiều thiết bị đầu cuối. Ví dụ: tôi chạy ba trong ba thiết bị đầu cuối
Ví dụ: đầu ra của lệnh ping -n 1 ::1 trong Windows 7 như sau: Ping ::1 với 32 byte dữ liệu: Trả lời từ ::1: time<1ms P
Tôi đang tạo một tập lệnh bash để định cấu hình một số thiết bị chúng tôi sử dụng, nhưng tôi đang cố gắng đăng nhập vào đó, nói cách khác.. khi tập lệnh bắt đầu kiểm tra ngày, giờ, người dùng và các giá trị khác, thì > giá trị này đi đến một csv trong máy chủ từ xa. Tôi cần ping để kiểm tra
Sự khác biệt về khái niệm là gì? Đúng, tôi nhận ra rằng cả hai đều sẽ tạo ra kết quả tương tự nhau, nhưng tôi nghĩ ý tưởng của vòng lặp là nó không thực sự đi đến bước chuyển của ngăn xếp. Nếu đó là sự thật thì tại sao ping ip của bạn lại hoạt động nhanh như vậy? ping vị trí của chính bạn
Tôi đang cố gắng kết nối với các URL trong Java để xem chúng có hoạt động không, tôi tự hỏi liệu tôi có cần kết nối với HTTPS (cổng 443?) Hay chỉ cần kết nối với HTTP (cổng 80) là đủ. Việc kết nối với các trang web HTTPS có hoạt động không? tôi nên
Tôi đang cố gắng ping địa chỉ IP từ 192.168.1.1 đến 192.168.1.254. Đầu tiên, tôi sử dụng lớp InetAddress nhưng nó bị lỗi và một số IP không thể truy cập được mặc dù chúng có thể truy cập được. Sau đó tôi thử
Tôi là một lập trình viên xuất sắc, rất giỏi!