BLE<Bluetooth> : How to interpret nRF logs for BLE - bluetooth-lowenergy

We have BLE(Bluetooth) device working well. Most of the time It works but sometimes we receive a bad response and collect its logs. These logs are collected from the nRF android app.
Here are some questions:
Can you interpret this logging behavior?
What is the significance of "AT" "%S" "&W" in bad response command?
If you know some good references; How to interpret these logs? Please share it.
Success Response
nRF Connect, 2021-11-29
G3-00000500 (DD:70:98:0A:EB:B1)
V 12:56:50.091 Connecting to DD:70:98:0A:EB:B1...
D 12:56:50.092 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
D 12:56:50.715 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
D 12:56:50.722 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I 12:56:50.722 Connected to DD:70:98:0A:EB:B1
V 12:56:50.749 Discovering services...
D 12:56:50.749 gatt.discoverServices()
I 12:56:51.050 Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
D 12:56:51.418 [Callback] Services discovered with status: 0
I 12:56:51.418 Services discovered
V 12:56:51.448 Generic Access (0x1800)
- Device Name [R] (0x2A00)
- Appearance [R] (0x2A01)
- Peripheral Preferred Connection Parameters [R] (0x2A04)
- Central Address Resolution [R] (0x2AA6)
Generic Attribute (0x1801)
- Service Changed [I] (0x2A05)
Client Characteristic Configuration (0x2902)
Unknown Service (569a1101-b87f-490c-92cb-11ba5ea5167c)
- Unknown Characteristic [N] (569a2000-b87f-490c-92cb-11ba5ea5167c)
Client Characteristic Configuration (0x2902)
- Unknown Characteristic [W WNR] (569a2001-b87f-490c-92cb-11ba5ea5167c)
- Unknown Characteristic [N] (569a2002-b87f-490c-92cb-11ba5ea5167c)
Client Characteristic Configuration (0x2902)
- Unknown Characteristic [W WNR] (569a2003-b87f-490c-92cb-11ba5ea5167c)
D 12:56:51.448 gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true)
D 12:56:51.450 gatt.setCharacteristicNotification(569a2000-b87f-490c-92cb-11ba5ea5167c, true)
D 12:56:51.452 gatt.setCharacteristicNotification(569a2002-b87f-490c-92cb-11ba5ea5167c, true)
I 12:56:51.484 Connection parameters updated (interval: 48.75ms, latency: 0, timeout: 5000ms)
V 12:57:12.847 Enabling notifications for 569a2000-b87f-490c-92cb-11ba5ea5167c
D 12:57:12.847 gatt.setCharacteristicNotification(569a2000-b87f-490c-92cb-11ba5ea5167c, true)
D 12:57:12.850 gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x0100)
I 12:57:12.938 Data written to descr. 00002902-0000-1000-8000-00805f9b34fb, value: (0x) 01-00
A 12:57:12.938 "Notifications enabled" sent
V 12:57:12.940 Notifications enabled for 569a2000-b87f-490c-92cb-11ba5ea5167c
V 12:58:13.875 Writing request to characteristic 569a2001-b87f-490c-92cb-11ba5ea5167c
D 12:58:13.875 gatt.writeCharacteristic(569a2001-b87f-490c-92cb-11ba5ea5167c, value=0x07020008805B8B7B)
I 12:58:13.976 Data written to 569a2001-b87f-490c-92cb-11ba5ea5167c, value: (0x) 07-02-00-08-80-5B-8B-7B
A 12:58:13.976 "(0x) 07-02-00-08-80-5B-8B-7B" sent
I 12:58:13.986 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 07-23
A 12:58:13.986 "(0x) 07-23" received
I 12:58:13.988 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 00-21
A 12:58:13.988 "(0x) 00-21" received
I 12:58:13.989 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 0C-00
A 12:58:13.989 "(0x) 0C-00" received
I 12:58:13.990 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 00
A 12:58:13.990 "(0x) 00" received
I 12:58:13.990 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 01-F4
A 12:58:13.990 "(0x) 01-F4" received
I 12:58:13.990 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 03-01-02-00-00-0A-0C-01-00-1E-00-00-00-00-00-00-01-3A-00-00
A 12:58:13.990 "(0x) 03-01-02-00-00-0A-0C-01-00-1E-00-00-00-00-00-00-01-3A-00-00" received
I 12:58:13.990 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) D3-86-BD-79
A 12:58:13.990 "(0x) D3-86-BD-79" received
Bad Response
nRF Connect, 2021-11-29
G3-00000500 (DD:70:98:0A:EB:B1)
V 14:49:26.173 Connecting to DD:70:98:0A:EB:B1...
D 14:49:26.174 gatt = device.connectGatt(autoConnect = false, TRANSPORT_LE, preferred PHY = LE 1M)
D 14:49:26.610 [Callback] Connection state changed with status: 0 and new state: CONNECTED (2)
I 14:49:26.610 Connected to DD:70:98:0A:EB:B1
D 14:49:26.627 [Broadcast] Action received: android.bluetooth.device.action.ACL_CONNECTED
V 14:49:26.629 Discovering services...
D 14:49:26.629 gatt.discoverServices()
I 14:49:26.945 Connection parameters updated (interval: 7.5ms, latency: 0, timeout: 5000ms)
D 14:49:27.261 [Callback] Services discovered with status: 0
I 14:49:27.261 Services discovered
V 14:49:27.271 Generic Access (0x1800)
- Device Name [R] (0x2A00)
- Appearance [R] (0x2A01)
- Peripheral Preferred Connection Parameters [R] (0x2A04)
- Central Address Resolution [R] (0x2AA6)
Generic Attribute (0x1801)
- Service Changed [I] (0x2A05)
Client Characteristic Configuration (0x2902)
Unknown Service (569a1101-b87f-490c-92cb-11ba5ea5167c)
- Unknown Characteristic [N] (569a2000-b87f-490c-92cb-11ba5ea5167c)
Client Characteristic Configuration (0x2902)
- Unknown Characteristic [W WNR] (569a2001-b87f-490c-92cb-11ba5ea5167c)
- Unknown Characteristic [N] (569a2002-b87f-490c-92cb-11ba5ea5167c)
Client Characteristic Configuration (0x2902)
- Unknown Characteristic [W WNR] (569a2003-b87f-490c-92cb-11ba5ea5167c)
D 14:49:27.271 gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb, true)
D 14:49:27.273 gatt.setCharacteristicNotification(569a2000-b87f-490c-92cb-11ba5ea5167c, true)
D 14:49:27.275 gatt.setCharacteristicNotification(569a2002-b87f-490c-92cb-11ba5ea5167c, true)
I 14:49:27.327 Connection parameters updated (interval: 48.75ms, latency: 0, timeout: 5000ms)
V 14:49:57.013 Enabling notifications for 569a2000-b87f-490c-92cb-11ba5ea5167c
D 14:49:57.013 gatt.setCharacteristicNotification(569a2000-b87f-490c-92cb-11ba5ea5167c, true)
D 14:49:57.015 gatt.writeDescriptor(00002902-0000-1000-8000-00805f9b34fb, value=0x0100)
I 14:49:57.073 Data written to descr. 00002902-0000-1000-8000-00805f9b34fb, value: (0x) 01-00
A 14:49:57.073 "Notifications enabled" sent
V 14:49:57.074 Notifications enabled for 569a2000-b87f-490c-92cb-11ba5ea5167c
V 14:50:08.813 Writing request to characteristic 569a2001-b87f-490c-92cb-11ba5ea5167c
D 14:50:08.813 gatt.writeCharacteristic(569a2001-b87f-490c-92cb-11ba5ea5167c, value=0x07020008805B8B7B)
I 14:50:08.870 Data written to 569a2001-b87f-490c-92cb-11ba5ea5167c, value: (0x) 07-02-00-08-80-5B-8B-7B
A 14:50:08.870 "(0x) 07-02-00-08-80-5B-8B-7B" sent
I 14:50:08.875 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 07-23
A 14:50:08.875 "(0x) 07-23" received
I 14:50:08.876 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 00-21
A 14:50:08.876 "(0x) 00-21" received
I 14:50:08.876 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 0C-00
A 14:50:08.876 "(0x) 0C-00" received
I 14:50:08.876 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 00
A 14:50:08.876 "(0x) 00" received
I 14:50:08.876 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 01-F4
A 14:50:08.876 "(0x) 01-F4" received
I 14:50:08.876 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 03-01-02-00-00-0A-0C-01-00-1E-00-00-00-00-00-00-01-3A-00-00
A 14:50:08.876 "(0x) 03-01-02-00-00-0A-0C-01-00-1E-00-00-00-00-00-00-01-3A-00-00" received
I 14:50:08.876 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) D3-86-BD-79-07-23
A 14:50:08.876 "(0x) D3-86-BD-79-07-23" received
I 14:50:20.914 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:50:20.914 "(0x) 41-54, "AT"" received
I 14:50:20.915 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 25-53, "%S"
A 14:50:20.915 "(0x) 25-53, "%S"" received
I 14:50:20.915 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-30, " 0"
A 14:50:20.915 "(0x) 20-30, " 0"" received
I 14:50:20.916 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20, " "
A 14:50:20.916 "(0x) 20, " "" received
I 14:50:20.916 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 3D-20, "= "
A 14:50:20.916 "(0x) 3D-20, "= "" received
I 14:50:20.916 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 22-47-33-2D-30-30-30-30-30-35-30-30-22-0D
A 14:50:20.916 "(0x) 22-47-33-2D-30-30-30-30-30-35-30-30-22-0D" received
I 14:50:21.111 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:50:21.111 "(0x) 41-54, "AT"" received
I 14:50:21.111 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 53-20, "S "
A 14:50:21.111 "(0x) 53-20, "S "" received
I 14:50:21.112 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 31-30, "10"
A 14:50:21.112 "(0x) 31-30, "10"" received
I 14:50:21.112 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 33, "3"
A 14:50:21.112 "(0x) 33, "3"" received
I 14:50:21.112 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-3D, " ="
A 14:50:21.112 "(0x) 20-3D, " ="" received
I 14:50:21.113 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-30-0D
A 14:50:21.113 "(0x) 20-30-0D" received
I 14:50:21.351 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:50:21.351 "(0x) 41-54, "AT"" received
I 14:50:21.400 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 53-20, "S "
A 14:50:21.400 "(0x) 53-20, "S "" received
I 14:50:21.400 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 31-30, "10"
A 14:50:21.400 "(0x) 31-30, "10"" received
I 14:50:21.401 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 30, "0"
A 14:50:21.401 "(0x) 30, "0"" received
I 14:50:21.401 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-3D, " ="
A 14:50:21.401 "(0x) 20-3D, " ="" received
I 14:50:21.401 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-31-32-31-0D
A 14:50:21.401 "(0x) 20-31-32-31-0D" received
I 14:50:21.545 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:50:21.545 "(0x) 41-54, "AT"" received
I 14:50:21.545 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 26-57, "&W"
A 14:50:21.545 "(0x) 26-57, "&W"" received
I 14:50:21.545 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 0D
A 14:50:21.545 "(0x) 0D" received
I 14:50:38.953 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:50:38.953 "(0x) 41-54, "AT"" received
I 14:50:38.954 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 25-53, "%S"
A 14:50:38.954 "(0x) 25-53, "%S"" received
I 14:50:38.954 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-30, " 0"
A 14:50:38.954 "(0x) 20-30, " 0"" received
I 14:50:38.954 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20, " "
A 14:50:38.954 "(0x) 20, " "" received
I 14:50:38.955 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 3D-20, "= "
A 14:50:38.955 "(0x) 3D-20, "= "" received
I 14:50:38.955 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 22-47-33-2D-30-30-30-30-30-35-30-30-22-0D
A 14:50:38.955 "(0x) 22-47-33-2D-30-30-30-30-30-35-30-30-22-0D" received
I 14:50:39.145 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:50:39.146 "(0x) 41-54, "AT"" received
I 14:50:39.148 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 53-20, "S "
A 14:50:39.148 "(0x) 53-20, "S "" received
I 14:50:39.151 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 31-30, "10"
A 14:50:39.151 "(0x) 31-30, "10"" received
I 14:50:39.152 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 33, "3"
A 14:50:39.152 "(0x) 33, "3"" received
I 14:50:39.152 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-3D, " ="
A 14:50:39.152 "(0x) 20-3D, " ="" received
I 14:50:39.153 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-30-0D
A 14:50:39.153 "(0x) 20-30-0D" received
I 14:50:39.342 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:50:39.342 "(0x) 41-54, "AT"" received
I 14:50:39.342 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 53-20, "S "
A 14:50:39.342 "(0x) 53-20, "S "" received
I 14:50:39.343 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 31-30, "10"
A 14:50:39.343 "(0x) 31-30, "10"" received
I 14:50:39.343 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 30, "0"
A 14:50:39.343 "(0x) 30, "0"" received
I 14:50:39.343 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-3D, " ="
A 14:50:39.343 "(0x) 20-3D, " ="" received
I 14:50:39.344 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-31-32-31-0D
A 14:50:39.344 "(0x) 20-31-32-31-0D" received
I 14:50:39.535 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:50:39.535 "(0x) 41-54, "AT"" received
I 14:50:39.535 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 26-57, "&W"
A 14:50:39.535 "(0x) 26-57, "&W"" received
I 14:50:39.536 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 0D
A 14:50:39.536 "(0x) 0D" received
I 14:50:56.943 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:50:56.943 "(0x) 41-54, "AT"" received
I 14:50:56.943 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 25-53, "%S"
A 14:50:56.943 "(0x) 25-53, "%S"" received
I 14:50:56.944 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-30, " 0"
A 14:50:56.944 "(0x) 20-30, " 0"" received
I 14:50:56.944 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20, " "
A 14:50:56.944 "(0x) 20, " "" received
I 14:50:56.944 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 3D-20, "= "
A 14:50:56.944 "(0x) 3D-20, "= "" received
I 14:50:56.945 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 22-47-33-2D-30-30-30-30-30-35-30-30-22-0D
A 14:50:56.945 "(0x) 22-47-33-2D-30-30-30-30-30-35-30-30-22-0D" received
I 14:50:57.134 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:50:57.134 "(0x) 41-54, "AT"" received
I 14:50:57.135 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 53-20, "S "
A 14:50:57.135 "(0x) 53-20, "S "" received
I 14:50:57.135 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 31-30, "10"
A 14:50:57.135 "(0x) 31-30, "10"" received
I 14:50:57.135 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 33, "3"
A 14:50:57.135 "(0x) 33, "3"" received
I 14:50:57.135 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-3D, " ="
A 14:50:57.136 "(0x) 20-3D, " ="" received
I 14:50:57.136 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-30-0D
A 14:50:57.136 "(0x) 20-30-0D" received
I 14:50:57.330 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:50:57.330 "(0x) 41-54, "AT"" received
I 14:50:57.330 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 53-20, "S "
A 14:50:57.330 "(0x) 53-20, "S "" received
I 14:50:57.330 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 31-30, "10"
A 14:50:57.330 "(0x) 31-30, "10"" received
I 14:50:57.331 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 30, "0"
A 14:50:57.331 "(0x) 30, "0"" received
I 14:50:57.331 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-3D, " ="
A 14:50:57.331 "(0x) 20-3D, " ="" received
I 14:50:57.331 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-31-32-31-0D
A 14:50:57.331 "(0x) 20-31-32-31-0D" received
I 14:50:57.573 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:50:57.573 "(0x) 41-54, "AT"" received
I 14:50:57.573 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 26-57, "&W"
A 14:50:57.573 "(0x) 26-57, "&W"" received
I 14:50:57.573 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 0D
A 14:50:57.573 "(0x) 0D" received
I 14:51:14.978 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:51:14.978 "(0x) 41-54, "AT"" received
I 14:51:14.979 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 25-53, "%S"
A 14:51:14.979 "(0x) 25-53, "%S"" received
I 14:51:14.979 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-30, " 0"
A 14:51:14.979 "(0x) 20-30, " 0"" received
I 14:51:14.980 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20, " "
A 14:51:14.980 "(0x) 20, " "" received
I 14:51:14.980 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 3D-20, "= "
A 14:51:14.980 "(0x) 3D-20, "= "" received
I 14:51:14.980 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 22-47-33-2D-30-30-30-30-30-35-30-30-22-0D
A 14:51:14.980 "(0x) 22-47-33-2D-30-30-30-30-30-35-30-30-22-0D" received
I 14:51:15.219 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:51:15.219 "(0x) 41-54, "AT"" received
I 14:51:15.220 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 53-20, "S "
A 14:51:15.220 "(0x) 53-20, "S "" received
I 14:51:15.220 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 31-30, "10"
A 14:51:15.220 "(0x) 31-30, "10"" received
I 14:51:15.220 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 33, "3"
A 14:51:15.220 "(0x) 33, "3"" received
I 14:51:15.222 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-3D, " ="
A 14:51:15.222 "(0x) 20-3D, " ="" received
I 14:51:15.223 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-30-0D
A 14:51:15.223 "(0x) 20-30-0D" received
I 14:51:15.367 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:51:15.367 "(0x) 41-54, "AT"" received
I 14:51:15.367 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 53-20, "S "
A 14:51:15.367 "(0x) 53-20, "S "" received
I 14:51:15.367 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 31-30, "10"
A 14:51:15.367 "(0x) 31-30, "10"" received
I 14:51:15.368 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 30, "0"
A 14:51:15.368 "(0x) 30, "0"" received
I 14:51:15.368 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-3D, " ="
A 14:51:15.368 "(0x) 20-3D, " ="" received
I 14:51:15.368 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 20-31-32-31-0D
A 14:51:15.368 "(0x) 20-31-32-31-0D" received
I 14:51:15.564 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 41-54, "AT"
A 14:51:15.564 "(0x) 41-54, "AT"" received
I 14:51:15.565 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 26-57, "&W"
A 14:51:15.565 "(0x) 26-57, "&W"" received
I 14:51:15.565 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 0D
A 14:51:15.565 "(0x) 0D" received
Thanks.

The logs are about the connection, discovery of services and subscription to a characteristic all concepts of BLE.
A device acting as Central after completing the connection with a peripheral device, discovers the services that the peripheral offers and subsequently subscribes to the characteristic discovered.
Here a guide
knowing this, it's easy interpreting the logs.
Success Response
Connection
V 12:56:50.091 Connecting to DD:70:98:0A:EB:B1...
D 12:56:50.092 gatt = device.connectGatt(autoConnect = false,
TRANSPORT_LE, preferred PHY = LE 1M) D 12:56:50.715 [Broadcast]
Action received: android.bluetooth.device.action.ACL_CONNECTED D
12:56:50.722 [Callback] Connection state changed with status: 0 and
new state: CONNECTED (2) I 12:56:50.722 Connected to
DD:70:98:0A:EB:B1
Discovering services/characteristics and list them. Services and characteristics are identified by hex value and UUIDs.
V 12:56:50.749 Discovering services...
D 12:56:50.749 gatt.discoverServices()
I 12:56:51.050 Connection parameters
updated (interval: 7.5ms, latency: 0, timeout: 5000ms) D
12:56:51.418 [Callback] Services discovered with status: 0 I
12:56:51.418 Services discovered
V 12:56:51.448 Generic Access (0x1800)
Device Name [R] (0x2A00)
Appearance [R] (0x2A01)
Peripheral Preferred Connection Parameters [R] (0x2A04)
Central Address Resolution [R] (0x2AA6) Generic Attribute (0x1801)
Service Changed [I] (0x2A05) Client Characteristic Configuration (0x2902) Unknown Service (569a1101-b87f-490c-92cb-11ba5ea5167c)
Unknown Characteristic [N] (569a2000-b87f-490c-92cb-11ba5ea5167c) Client Characteristic Configuration (0x2902)
Unknown Characteristic [W WNR] (569a2001-b87f-490c-92cb-11ba5ea5167c)
Unknown Characteristic [N] (569a2002-b87f-490c-92cb-11ba5ea5167c) Client Characteristic Configuration (0x2902)
Unknown Characteristic [W WNR] (569a2003-b87f-490c-92cb-11ba5ea5167c)
Subscription to a characteristic
12:56:51.448 gatt.setCharacteristicNotification(00002a05-0000-1000-8000-00805f9b34fb,true)
D 12:56:51.450 gatt.setCharacteristicNotification(569a2000-b87f-490c-92cb-11ba5ea5167c, true)
D 12:56:51.452 gatt.setCharacteristicNotification(569a2002-b87f-490c-92cb-11ba5ea5167c, true)
I 12:56:51.484 Connection parameters updated (interval: 48.75ms, latency: 0, timeout: 5000ms)
V 12:57:12.847 Enabling notifications for 569a2000-b87f-490c-92cb-11ba5ea5167c
Values coming from the subscribed characteristic. The values are in hex format.
I 12:58:13.986 Notification received from 569a2000-b87f-490c-92cb-11ba5ea5167c, value: (0x) 07-23 A
12:58:13.986 "(0x) 07-23" received
The strange values you see in the Bad Response ("AT", "%S" "&W") are the hex to ASCII translation of data received. The app tries to translate the bytes received from the characteristic into ASCII characters.
Example
I 14:50:20.914 Notification received from 569a2000-b87f-490c92cb-11ba5ea5167c, value: (0x) 41-54, "AT" A
14:50:20.914 "(0x) 41-54, "AT"" received
Hex value
Ascii
0x41
A
0x54
T
So 0x 41 54 -->AT

Related

R WebSocket connection works, but not receiving any messages

I am trying to use R to replicate the following NodeJS WebSocket script, and I am managing to establish a connection with the server, however I am not receiving back any messages with the appropriate data that I would like. For context, I am using FinancialModelingPrep's websocket service to stream real-time stock prices. Here is the NodeJS script I am trying to replicate:
const WebSocket = require('ws');
const ws = new WebSocket('wss://websockets.financialmodelingprep.com', null, null, null, {rejectUnauthorized: false});
const login = {
'event':'login',
'data': {
'apiKey': "<apiKey>",
}
}
const subscribe = {
'event':'subscribe',
'data': {
'ticker': "aapl",
}
}
ws.on('open', function open() {
ws.send(JSON.stringify(login));
ws.send(JSON.stringify(subscribe));
});
ws.on('message', function(data, flags) {
console.log(data)
});
Here is my attempt to replicate it in R using the 'websocket' library:
login <- list(
'event' = 'login',
'data' = list(
'apiKey' = "<apiKey>"
)
)
subscribe <- list(
'event' = 'subscribe',
'data' = list(
'ticker' = "btcusd"
)
)
unsubscribe <- list(
'event' = 'unsubscribe',
'data' = list(
'ticker' = "btcusd"
)
)
ws <- websocket::WebSocket$new(
url = 'wss://crypto.financialmodelingprep.com',
protocols = character(0),
headers = NULL,
autoConnect = F,
accessLogChannels = c("all"),
maxMessageSize = 32 * 1024 * 1024
)
ws$onOpen(function(event) {
cat("Connection opened\n")
ws$send(toJSON(login))
cat("Login in then pause...\n")
Sys.sleep(1)
ws$send(toJSON(subscribe))
cat("Subscribe then pause...\n")
Sys.sleep(1)
cat("Unsubscribing...\n")
ws$send(toJSON(unsubscribe))
})
ws$onMessage(function(event) {
cat("Client got msg: ", fromJSON(event$data), "\n")
})
ws$onClose(function(event) {
cat("Client disconnected with code ", event$code,
" and reason ", event$reason, "\n", sep = "")
})
ws$onError(function(event) {
cat("Client failed to connect: ", event$message, "\n")
})
ws$connect()
When I run the R script to connect, I receive the "connection opened" message as well as the logging in, subscribing and unsubscribing messages. However, it seems as if the onMessage part is never triggered. Below is the output that I receive from the server:
Connection opened
Login in then pause...
[2022-11-19 12:05:47] [frame_header] Dispatching write containing 1 message(s) containing 6 header bytes and 74 payload bytes
[2022-11-19 12:05:47] [frame_header] Header Bytes:
[0] (6) 81 CA DF B7 07 F8
[2022-11-19 12:05:47] [frame_payload] Payload Bytes:
[0] (74) [1] ��b���s���%���n���+ڻ�s���|ھ�n���%�0���4��aλ�aͻ�4��2���a���4���%���
Subscribe then pause...
[2022-11-19 12:05:48] [frame_header] Dispatching write containing 1 message(s) containing 6 header bytes and 52 payload bytes
[2022-11-19 12:05:48] [frame_header] Header Bytes:
[0] (6) 81 B4 05 00 D3 E9
[2022-11-19 12:05:48] [frame_payload] Payload Bytes:
[0] (52) [1] ~"��`n��?[�pb��wi��']��aa��':��qi��`r��^"��fu��']��
Unsubscribing...
[2022-11-19 12:05:49] [frame_header] Dispatching write containing 1 message(s) containing 6 header bytes and 54 payload bytes
[2022-11-19 12:05:49] [frame_header] Header Bytes:
[0] (6) 81 B6 E1 AF 95 38
[2022-11-19 12:05:49] [frame_payload] Payload Bytes:
[0] (54) [1] ���N������M���Z���Q�ʷe͍�Y�η���Q���JÕ����M�˷e��
[2022-11-19 12:06:49] [error] handle_read_frame error: websocketpp.transport:7 (End of File)
[2022-11-19 12:06:49] [disconnect] Disconnect close local:[1006,End of File] remote:[1006]
Client disconnected with code 1006 and reason
Lastly, here is the output I am supposed to receive (according to FinancialModelingPrep's documentation):
wss://crypto.financialmodelingprep.com
{
"s": "btcusd",
"t": 16487238632060000000,
"e": "binance",
"type": "Q",
"bs": 0.00689248,
"bp": 47244.8,
"as": 1.72784126,
"ap": 47244.9
}
I have a feeling I'm doing something wrong.. I am out of ideas on how to achieve the above output using R, and unfortunately I am not experienced enough to do it via NodeJS. Any help would be appreciated.

How to filter Journald PRIORITY in Vector?

I'm trying to limit the journald logs my vector config picks up but it appears not to work. There are no error messages. Vector is sending all logs to loki. The vector version is 0.22.2.
Here is my vector.toml file:
[sources.host_journald_source]
type = "journald"
current_boot_only = true
[transforms.host_journald_filter]
type = "filter"
inputs = ["host_journald_source"]
condition = '''
includes(["0", "1", "2", "3", "4"], .PRIORITY)
'''
Here is an example of a log I want to exclude in my grafana loki datasource explorer:
Log labels
boot_id 7d16b8f4fc2a4366b9e705f52b75979e
cmdline /sbin/init
host myhost-test
message run-docker-runtime\x2drunc-moby-3995a89e568b3d38fd01a158b8bfd5e02e27b05c60c128aed8a71ed121b44c07-runc.t7aKhj.mount: Deactivated successfully.
Detected fields
CODE_FILE "src/core/unit.c"
CODE_FUNC "unit_log_success"
CODE_LINE "5553"
INVOCATION_ID "e5b739ebc26a4897bd1288844a875d10"
MESSAGE_ID "7ad2d189f7e94e70a38c781354912448"
PRIORITY "6"
SYSLOG_FACILITY "3"
SYSLOG_IDENTIFIER "systemd"
TID "1"
Time 1655917978170
UNIT "run-docker-runtime\\x2drunc-moby-3995a89e568b3d38fd01a158b8bfd5e02e27b05c60c128aed8a71ed121b44c07-runc.t7aKhj.mount"
_BOOT_ID "7d16b8f4fc2a4366b9e705f52b75979e"
_CAP_EFFECTIVE "1ffffffffff"
_CMDLINE "/sbin/init"
_COMM "systemd"
_EXE "/usr/lib/systemd/systemd"
_GID "0"
_MACHINE_ID "fff69d4a6e8643678404cfa6b346143b"
_PID "1"
_SELINUX_CONTEXT "unconfined\n"
_SOURCE_REALTIME_TIMESTAMP "1655917978170117"
_SYSTEMD_CGROUP "/init.scope"
_SYSTEMD_SLICE "-.slice"
_SYSTEMD_UNIT "init.scope"
_TRANSPORT "journal"
_UID "0"
__MONOTONIC_TIMESTAMP "35722646432"
__REALTIME_TIMESTAMP "1655917978172193"
host "myhost-test"
labels [object Object]
message "run-docker-runtime\\x2drunc-moby-3995a89e568b3d38fd01a158b8bfd5e02e27b05c60c128aed8a71ed121b44c07-runc.t7aKhj.mount: Deactivated successfully."
source_type "journald"
tsNs 1655917978170117000
My vector.toml file now looks like this:
[sources.host_journald_source]
type = "journald"
current_boot_only = true
since_now = true
include_units = [ "systemd" ]
include_matches.PRIORITY = [ "0", "1", "2", "3", "4" ]
[sinks.loki]
type = "loki"
inputs = [ "host_journald_source" ]
endpoint = "http://localhost:3100"
compression = "none"
request.concurrency = "adaptive"
out_of_order_action = "accept"
[sinks.loki.labels]
boot_id = '{{ "_BOOT_ID" }}'
message = "{{ message }}"
cmdline = '{{ "_CMDLINE" }}'
host = "{{ host }}"
user_unit = '{{ "USER_UNIT" }}'
[sinks.loki.encoding]
codec = "json"

How to write a POST request using httr:POST similar to one used in Postman-app

I have a similar problem as: How to translate a POST request from Postman to httr:POST in R. Below is a view of what I do in Postman:
Postman_image_post
In Postman, I receive a response with the requested data. However when I try to use the same URL and body in R using httr:post, I do not receive any data.
The body I want to parse to httr::post (which is identically to the one used in Postman) is
body <- '{ "table": "Fravær løbende år",
"time": [
{
"y1": "2021",
"m1": "07"
}
],
"control": [
"kom_regx",
"hko_krl",
"s_ym"
],
"data": [
"frav_fuldtid",
"frav_dagsv",
"frav_dage_pr_fuldtid"
],
"selection": [
{
"name": "Udvalgte population",
"filters": {
"lif": [
"10101",
"10103",
"10191",
"10102"
]
}
}
],
"options": {
"totals": false,
"outputFormat": "csv",
"actions": [],
"tableName": "Fravær - løbende år",
"subLimit": 5,
"modelName": "Fravær",
"noStkPlus": true,
"timeIncreasing": false,
"hideTimeline": 1
}
}'
I have tried different inputs to the httr::POST, none of it working. For example:
test <- httr::POST('https://www.krl.dk/sirka/sirkaApi/tableApi', body = body, encode = 'json')
When I use verbose() in the function I receive the following:
httr::POST('https://www.krl.dk/sirka/sirkaApi/tableApi', body = body, encode = 'json', verbose())
POST /sirka/sirkaApi/tableApi HTTP/1.1
-> Host: www.krl.dk
-> User-Agent: libcurl/7.64.1 r-curl/4.3 httr/1.4.2
-> Accept-Encoding: deflate, gzip
-> Cookie: sails.sid=s%3A4B90dPjNtz45qB_YM9O_QpAy4eXuFhvg.ML2mJi%2FSh8J%2FVy9hdukQmmyHjUT9OqUt1bvxLKJUO3o
-> Accept: application/json, text/xml, application/xml, */*
-> Content-Length: 689
->
>> { "table": "Fravær løbende år",
>> "time": [
>> {
>> "y1": "2021",
>> "m1": "07"
>> }
>> ],
>> "control": [
>> "kom_regx",
>> "hko_krl",
>> "s_ym"
>> ],
>> "data": [
>> "frav_fuldtid",
>> "frav_dagsv",
>> "frav_dage_pr_fuldtid"
>> ],
>> "selection": [
>> {
>> "name": "Udvalgte population",
>> "filters": {
>> "lif": [
>> "10101",
>> "10103",
>> "10191",
>> "10102"
>> ]
>> }
>> }
>> ],
>> "options": {
>> "totals": false,
>> "outputFormat": "csv",
>> "actions": [],
>> "tableName": "Fravær - løbende år",
>> "subLimit": 5,
>> "modelName": "Fravær",
>> "noStkPlus": true,
>> "timeIncreasing": false,
>> "hideTimeline": 1
>> }
>> }
<- HTTP/1.1 200 OK
<- Cache-Control: no-cache, no-store, must-revalidate
<- Pragma: no-cache
<- Expires: -1
<- Access-Control-Allow-Origin: https://www.krl.dk
<- Connection: close
<- Content-Type: text/html; charset=utf-8
<- Content-Length: 34
<- ETag: W/"22-ccYOpHnkItqR5AChAXo9C/1+jkk"
<- Vary: Accept-Encoding
<- Date: Thu, 04 Nov 2021 11:44:09 GMT
<-
Response [https://www.krl.dk/sirka/sirkaApi/tableApi]
Date: 2021-11-04 11:44
Status: 200
Content-Type: text/html; charset=utf-8
Size: 34 B
Can anyone tell me, what I'm doing wrong in httr:POST, when the URL and body is working fine in Postman-app?
/////////
EDIT
Headers from postman:

Creating a function/loop

I have data being pulled from an API, but for the purposes of this, I will use dummy data:
test <- structure(list(Id = 201:203, firstname = c("Jackie", "Liz", "Jack"),
lastname = c("Jormpjomp", "Lemon", "Donaghy"),
address = c("4 Main St.", "5 Main St.", "6 Main St."),
zip = c(89044L, 60301L, 85281L),
dob = c(NA, "7/1/88", "2/13/90"),
phone = c("333-333-3333","4444", "555-555-5555"),
statecode = c("NV", "WI", "AZ")),
class = "data.frame",
row.names = c(1, 2, 3))
First I isolate all the needed variables as their own values:
Ids <- test$Id
firstnames <- test$firstname
lastnames <- test$lastname
addresses <- test$address
zips <- test$zip
dobs <- test$dob
phones <- test$phone
Then I create a character vector to add on to the final API call:
data_upsert = paste0(
'{ "Id": ', Ids, ',
"firstName": "', firstnames, '",
"lastname": "', lastnames, '",
"dateOfBirth": "', dobs, '",
"phones": [
{ "phoneNumber": "', phones, '" } ],
"addresses": [
{ "addressLine1": "', addresses, '",
"zipOrPostalCode": "', zips, '",
} ] }
')
Then I make a variable for my header - this will stay the same throughout
headers_upsert = c(
`Accept` = 'application/json',
`Authorization` = 'Basic JFOJDIFvdhSOFOHAD83820348voqpTOESV==',
`Content-Type` = 'application/json'
)
Finally, I complete the API call, as such:
upsert <- httr::POST(url = 'https://api.secure.com/v1/people/Create', httr::add_headers(.headers=headers_upsert), body = data_upsert)
Running that creates a response that looks like this:
Response [https://api.secure.com/v1/people/Create]
Date: 2021-08-31 20:28
Status: 201
Content-Type: application/json; charset=utf-8
Size: 58 B
{
"Id": 222323178,
"status": "UnmatchedStored"
I then want to store this response in table form:
resContent <- content(res, as="text")
resJSON <- jsonlite::fromJSON(resContent)
resTable <- as.data.frame(resJSON)
If you run everything above, it obviously only works with the first row in test, but I'm looking for a sleek way to write a function and loop which:
A) Runs the API call for all three rows
B) Creates a table with all three responses
EDIT: Based on Bing's response:
After running Bing's response, it accomplishes the first part, but the issue comes in making the table at the end.
The results for response looks like this:
[[1]]
Response [https://api.secure.com/v1/people/111322450]
Date: 2021-09-01 15:02
Status: 200
Content-Type: application/json; charset=utf-8
Size: 1.56 kB
{
"Id": 111322450,
"firstName": "Jackie",
"lastName": "Jormpjomp",
"middleName": null,
"suffix": null,
"title": "Mr.",
"contactMode": "Person",
"organizationContactCommonName": null,
"organizationContactOfficialName": null,
...
[[2]]
Response [https://api.secure.com/v1/people/findOrCreate/]
Date: 2021-09-01 15:02
Status: 201
Content-Type: application/json; charset=utf-8
Size: 58 B
{
"Id": 111323215,
"status": "UnmatchedStored"
[[3]]
Response [https://api.secure.com/v1/people/findOrCreate/]
Date: 2021-09-01 15:02
Status: 201
Content-Type: application/json; charset=utf-8
Size: 58 B
{
"Id": 111323216,
"status": "UnmatchedStored"
When I run:
resContent=map(response , httr::content, as="text")
resJSON <- map(resContent, jsonlite::fromJSON)
resTable <- map(resJSON, as.data.frame)
resTable is still stored as a List that looks like this EDIT:
$data
$data[[1]]
Response [https://api.secure.com/v1/people/111322450]
Date: 2021-09-01 18:24
Status: 200
Content-Type: application/json; charset=utf-8
Size: 1.58 kB
{
"Id": 111322450,
"firstName": "Jackie",
"lastName": "Jormpjomp",
"middleName": null,
"suffix": null,
"title": null,
"contactMode": "Person",
"organizationContactCommonName": null,
"organizationContactOfficialName": null,
...
$data[[2]]
Response [https://api.secure.com/v1/people/findOrCreate/]
Date: 2021-09-01 18:24
Status: 201
Content-Type: application/json; charset=utf-8
Size: 58 B
{
"Id": 111323215,
"status": "UnmatchedStored"
$data[[3]]
Response [https://api.secure.com/v1/people/findOrCreate/]
Date: 2021-09-01 18:24
Status: 201
Content-Type: application/json; charset=utf-8
Size: 58 B
{
"Id": 111323216,
"status": "UnmatchedStored"
$args
$args[[1]]
[1] "map(jsonlite::fromJSON)"
attr(,"type")
[1] "map"
$args[[2]]
[1] "map(as.data.frame)"
attr(,"type")
[1] "map"
attr(,"class")
[1] "jqr"
The only data I need from each response is Id
EDIT #2
Running the following:
resContent=map(response , httr::content)
resTable <- map(resContent, ~.x$Id) %>% as.data.frame()
returns the following error:
Error in as.data.frame.default(.) :
cannot coerce class ‘"jqr"’ to a data.frame
httr::POST is not vectorized. You will need to loop through each one. You can use lapply or a tidy version like:
library(purrr)
response = map(data_upsert,
~httr::POST(url = 'https://www.google.com/',
httr::add_headers(.headers=headers_upsert),
body = .x))
See if these works. Edits:
resContent=map(response , httr::content)
resTable <- map(resContent, ~.x$Id) #%>% as.data.frame()

WhoIs servers are not responding

I'm trying to realize a little script in Autoit that retrieves all IPs used by Facebook servers (query "-i origin AS32934" to whois.radb.net, as developer page says), but I don't understand why WhoIs servers are not responding to my queries.
This is the script:
Local $host = "whois.radb.net", $query = "-i origin AS32934"
If Ping($host) Then
$ws = DllOpen("ws2_32.dll")
TCPStartup()
$ip = TCPNameToIP($host)
If #error Then _err("TCPNameToIP", #error)
Global $socket = TCPConnect($ip, 43)
If #error Then _err("TCPConnect", #error)
TCPSend($socket, $query)
If #error Then _err("TCPSend", #error, 1)
Local $text = "", $t = TimerInit(), $counter = 0
While 1
$recv = TCPRecv($socket, 2048)
If #error And #error <> -1 Then
$aRet = DllCall($ws, "int", "WSAGetLastError")
MsgBox(16,"ERROR", "Function: TCPRecv" & #CRLF & "Last data received: " & $recv & #CRLF & "Winsock error: " & $aRet[0] & #CRLF & "Loop executed " & $counter & " times")
ExitLoop
EndIf
$text &= $recv
$counter += 1
If TimerDiff($t) > 4999 Then ExitLoop
WEnd
If $text = "" Then
MsgBox(48, "RESULT", "EMPTY" & #CRLF & "Loop executed " & $counter & " times")
Else
MsgBox(0, "RESULT", $text)
EndIf
TCPCloseSocket($socket)
TCPShutdown()
Else
_err("Ping", #error, 0)
EndIf
Func _err($func, $err, $opt = 2)
MsgBox(16, "ERROR", "Function: " & $func & #CRLF & "Error: " & $err)
If $opt = 1 Then TCPCloseSocket($socket)
If $opt > 0 Then TCPShutdown()
Exit
EndFunc
The output is always "RESULT:EMPTY".
I've tried to query other WhoIs services with various queries (for example whois.verisign-grs.com with "=facebook.com") but I get no response.
It's not a problem about my network, because I've tried a Nirsoft WhoIs tool ad it works.
I've downloaded a sniffer and this is the output when I start my script:
==================================================
Protocol : TCP
Local Address : 192.168.1.101
Remote Address : 198.108.0.18
Local Port : 23509
Remote Port : 43
Remote Host : whois.radb.net
Service Name : nicname
Packets : 5 {5 ; 0}
Data Size : 17 Bytes {17 ; 0}
Total Size : 274 Bytes {217 ; 57}
Data Speed : 0.0 KB/Sec
Capture Time : 07/07/2014 15:18:37:313
Last Packet Time : 07/07/2014 15:18:45:837
Duration : 00:00:08.523
==================================================
Content:
-i origin AS32934
It seems the packet is sent but no packet is received.
I just found out the solution: adding a #crlf at the end of TCPSend() request
$query = "-i origin AS32934" & #crlf

Resources