matthewwall / weewx-interceptor

weewx driver that intercepts web traffic from internet 'bridge' devices such as Acurite Access, ObserverIP, OS LW30x, LaCross GW1000U, FineOffset GW1000
GNU General Public License v3.0
105 stars 46 forks source link

Cannot get this to sniff anymore #76

Closed sgrayban closed 4 years ago

sgrayban commented 4 years ago

I upgraded my pi from stretch to buster today and I have been trying to get the extension to work but so far nothing has.

All I get is weewx[4562] DEBUG user.interceptor: empty queue

But if I debug and see if data is getting sent on the wlan0 it does show..

# tcpflow -C -0 -i wlan0 -s tcp dst port 80
reportfilename: ./report.xml
tcpflow: listening on wlan0
GET /endpoint?stationtype=AMBWeatherV4.1.7&PASSKEY=XXXXXXXXXXXXXXX&dateutc=2020-08-01+04:58:13&tempinf=77.9&humidityin=43&baromrelin=29.289&baromabsin=27.907&tempf=83.7&humidity=33&winddir=224&windspeedmph=0.0&windgustmph=0.0&maxdailygust=12.5&hourlyrainin=0.000&eventrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.181&totalrainin=29.480&solarradiation=0.00&uv=0 HTTP/1.1
Host: api.ambientweather.net
Connection: close
User-Agent: ESP8266
# tcpdump -i wlan0
tcpdump: verbose output suppressed, use -v or -vv for full protocol decode
listening on wlan0, link-type EN10MB (Ethernet), capture size 262144 bytes
22:11:19.088430 ARP, Request who-has 10.3.141.62 tell 10.3.141.1, length 28
22:11:19.292820 ARP, Reply 10.3.141.62 is-at 84:f3:eb:21:92:2d (oui Unknown), length 28
22:12:06.126708 IP 10.3.141.62.4096 > 10.3.141.1.domain: 37909+ A? time.windows.com. (34)
22:12:06.168181 IP 10.3.141.1.domain > 10.3.141.62.4096: 37909 2/0/0 CNAME time.microsoft.akadns.net., A 13.86.101.172 (89)
22:12:06.174481 IP 10.3.141.62.4097 > 13.86.101.172.ntp: NTPv4, Client, length 48
22:12:06.230743 IP 13.86.101.172.ntp > 10.3.141.62.4097: NTPv3, Server, length 48
22:12:14.064571 IP 10.3.141.62.21124 > 172.67.177.12.http: Flags [S], seq 3134441, win 5840, options [mss 1460], length 0
22:12:14.081114 IP 172.67.177.12.http > 10.3.141.62.21124: Flags [S.], seq 3256516366, ack 3134442, win 65535, options [mss 1400], length 0
22:12:14.088640 IP 10.3.141.62.21124 > 172.67.177.12.http: Flags [P.], seq 1:482, ack 1, win 5840, length 481: HTTP: GET /endpoint?stationtype=AMBWeatherV4.1.7&PASSKEY=XXXXXXXXXXXXXXXXXXXXX&dateutc=2020-08-01+05:12:13&tempinf=77.7&humidityin=43&baromrelin=29.292&baromabsin=27.910&tempf=82.0&humidity=33&winddir=224&windspeedmph=0.0&windgustmph=0.0&maxdailygust=12.5&hourlyrainin=0.000&eventrainin=0.000&dailyrainin=0.000&weeklyrainin=0.000&monthlyrainin=0.181&totalrainin=29.480&solarradiation=0.00&uv=0 HTTP/1.1

Weewx debug shows this...

weewx[6245] INFO user.interceptor: driver version is 0.53
weewx[6245] INFO user.interceptor: device type: observer
weewx[6245] INFO user.interceptor: mode is sniff
weewx[6245] INFO user.interceptor: sniff iface=wlan0 promiscuous=1
weewx[6245] INFO user.interceptor: sniff filter 'src 10.3.141.62 and dst port 80'
weewx[6245] INFO user.interceptor: pypcap (1.2.2)
weewx[6245] INFO user.interceptor: sensor map: {'pressure': 'pressure', 'barometer': 'barometer', 'outHumidity': 'humidity_out', 'inHumidity': 'humidity_in', 'outTemp': 'temperature_out', 'inTemp': 'temperature_in', 'windSpeed': 'wind_speed', 'windGust': 'wind_gust', 'windDir': 'wind_dir', 'windGustDir': 'wind_gust_dir', 'radiation': 'solar_radiation', 'dewpoint': 'dewpoint', 'windchill': 'windchill', 'rain': 'rain', 'rainRate': 'rain_rate', 'UV': 'uv', 'txBatteryStatus': 'battery', 'extraTemp1': 'temperature_1', 'extraTemp2': 'temperature_2', 'extraTemp3': 'temperature_3', 'extraHumid1': 'humidity_1', 'extraHumid2': 'humidity_2', 'soilTemp1': 'soil_temperature_1', 'soilTemp2': 'soil_temperature_2', 'soilMoist1': 'soil_moisture_1', 'soilMoist2': 'soil_moisture_2', 'soilMoist3': 'soil_moisture_3', 'soilMoist4': 'soil_moisture_4', 'leafWet1': 'leafwetness_1', 'leafWet2': 'leafwetness_2', 'pm2_5': 'pm2_5', 'extraTemp4': 'temperature_4', 'extraTemp5': 'temperature_5', 'extraTemp6': 'temperature_6', 'extraTemp7': 'temperature_7', 'extraTemp8': 'temperature_8', 'extraHumid3': 'humidity_3', 'extraHumid4': 'humidity_4', 'extraHumid5': 'humidity_5', 'extraHumid6': 'humidity_6', 'extraHumid7': 'humidity_7', 'extraHumid8': 'humidity_8', 'soilTemp3': 'soil_temperature_3', 'soilTemp4': 'soil_temperature_4'}
weewx[6245] DEBUG user.interceptor: start sniff server

Weewx setup..

[Interceptor]
    driver = user.interceptor
    device_type = observer
    mode = sniff
    promiscuous = True
    iface = wlan0
    pcap_filter = src 10.3.141.62 and dst port 80

It's a Ambient WS 2902A I am wondering if promiscuous mode isn't working in Pi buster anymore...

sgrayban commented 4 years ago

Too add to this

PYTHONPATH=/usr/share/weewx/ python bin/user/interceptor.py --device=observer --mode=sniff --iface=wlan0 --filter="src 10.3.141.62 and dst port 80"

mapped packet: {'pressure': 27.927, 'outHumidity': 39.0, 'UV': 0.0, 'radiation': 0.0, 'rain': None, 'dateTime': 1596266654, 'windDir': 209.0, 'outTemp': 76.3, 'windSpeed': 0.2, 'inHumidity': 42.0, 'inTemp': 75.9, 'windGust': 1.1, 'usUnits': 1}

Running it manually works

thiber27 commented 3 years ago

Hello,

I have exactly the same problem, but this issue is closed and no solution for this problem. Can you give us your solution? Because i search for several hours and nothing work just "DEBUG user.interceptor: empty queue".

Thank you.