network monitoring on windows mobile 6 - networking

I am currently trying to write a network monitoring software for windows mobile 6. I googled a lot and some people say that it is not possible to use a NDIS driver or WinPcap or so for monitoring any network interface. Others say that it is possible. Fact is, that I found no exaples, nor any sourcecode on the net.
Therefore I ask this community: Is it possible to write a packet capturing tool that works on data-link layer for windows mobile in C or C#?
with best regards

Desktop and Server Windows products have a very defined, generic, and pluggable structure into which you can insert hooks into the network layer. (Look up LSP or Layered Service Provider - this is how AntiVirus/Firewall programs plug themselves into monitoring your network traffic). As far as WinPCap, it plugs in one level lower at the NDIS driver level, but regardless, Windows Mobile just is not nearly as flexible when it comes to this. I don't necessarily think it's just Microsoft being short-sighted here, though - it takes much more power to provide a generic and pluggable LSP or NDIS layer that most mobile devices just can't afford.
The most important point here - NDIS Packet Capturing is not supported for Windows Mobile. Closest you can get to a mobile platform with packet capture is Windows Embedded CE.
So, in order to capture network traffic for Windows Mobile you would need to develop your own NDIS driver framework. Not a small task.

Windows Mobile uses Windows CE.
NDIS is very much present on Windows Mobile, so you can write an intermediate driver to capture traffic.
However, it already has netlog which should do the work for you: http://msdn.microsoft.com/en-us/library/ms883126.aspx

Related

detect os version of remote machine

i'm working on some simple network management tool and it has a scanner that should display all active devices on the network and also show their os and its version.
at least i want to get windows and linux versions, but some other (like cisco ios) are also valuable.
i've looked into tcp/ip fingerprinting using ttl and window size, but it seems not very reliable and only detects whether it is windows of linux.
is it even possible?
p.s. i don't want to use some ready solutions like wmi or snmp

Using SNMP to obtain server information

I need to obtain information about my servers running on Linux Redhat, Windows Server 2003 and Windows Server 2008. I have found the SNMP protocol to be useful for my purpose, but I am not clear how to implement it in my application. I don't even know how to get started.
Also, is it possible to monitor the applications/programs running on the servers? It is my first time working with SNMP, so I am finding it extremely difficult to understand how it has to be implemented. I have understood the architecture of SNMP(SNMPManager, SNMPAgent, Trap messages, MIB), but finding it difficult to implement them.
Please guide me in as detailed way as possible and mention links to any tutorials.
SNMP is not so simple as should be... if you want to provide control to your system/resources the best choice is to use an external native tool like:
PRTG:You can use free evaluation sensor
CACTI: open-source and web-based tool
SolarWinds:expensive but powerful choice
After that you can monitor your system using WMI protocol (for Win OS), direct agent installed on it or script.

How can I get data from a scale into a web application?

*If you think I should ask this question elsewhere, please let me know.
Background:
I need to build an application for converting weights into piece counts. The weights currently come from scales that are connected to PCs via serial ports. I am replacing PC based applications that connect to the scales via a serial connection. I am considering the feasibility of making the next generation of these applications into a web based solution. However, I do not want to do this if it is not a better solution than building an application that runs on the client. In addition, I do not want to use any sort of browser specific technology (ActiveX).
FYI, we currently run a Windows based environment.
What I have so far:
I am currently thinking that I will need some sort of client side “service” to allow the scale data to be retrieved by the web application. I have looked into creating a WCF service for this task and have determined that it would probably work. This would require that the scale be connected to some sort of Windows based computer that is on the network. I would then interface the WCF service (running as a Windows Service on the PC) from an ASP.NET web application running on an IIS web server. This would minimize the footprint on the client and allow us to use a web application.
I am looking for any constructive thoughts and ideas. I am open to reviewing any feasible option that would make this solution as simple and reliable as possible.
Answering my own question per request #honeycomb.
I discovered two viable options for this purpose. Following are high-level overviews of the techniques we leveraged.
Develop a scale reader to be run on a PC connected to the weigh scale device via an RS-232 connection. This reader will forward any information received from the scale into a database. Combined with technologies like change notifications and server-side push notifications, this option will allow data from a weigh scale to be pushed into a web page with little effort and no additional cost. (This option has performed well during testing but is not yet in production)
Invest in converting weigh scale devices to use ethernet connections and connect them to the network. Use an OPC server with a driver that can connect to the weigh scales you are using to read the data from these devices. Consider KEPWare's offering for this purpose. Use KEPWare's tools to forward this data to a database or wherever it is needed. Once again, you can leverage change notifications and server-side push technologies to push this data into web applications in near real-time without polling. (This option is currently working in a critical, production environment)
The second option is probably better in the long-term, but this may vary based on your specific situation. It has some up front costs and would be better suited to new implementations. For my system, I am using the first option because it will ease the transition between the new and old systems.
Note: I am not in any way associated with KEPWare. I am only suggesting their product because it is the only one I am aware of that supports this functionality. I am sure there are other OPC servers that support this type of device.

Computerless, wireless web activated remote printing

Im in need of a solution, I basically require a way to print from a web page to a printer. But the printer needs to be standalone, either plugging directly into phone line, using a sim card etc. Does anyone know of a good solution for this?
It needs to be cheap to run, setup costs aren't that much of an issue, but obviously the cheaper the better.
If landline is okay, I believe the device you want is an antiquated piece of hardware called a "fax machine"
If wireless on a mobile network, the service plan is more of a cost concern than the hardware, though the two might be bundled together. For example, a company called bug labs is working on some kind of partnership with verizon for connecting their embedded linux device construction kit.

control a users USB device via a webpage? Possible?

I'm wondering if there is a way to create an asp.net webpage that will connect a visitors USB device to an application on the windows bases server? This way we avoid having to install a software on the visitors computer to control a USB device update that they purchase form us.
All they have to do is visit our update page, plug their deivce to the USB, and have our site update the usb hardware.
Possible? or am I dreaming? :)
i found software like: USB over IP, and few others. But not show ure its possible to create a C# or vb.net based ASP.net page to control the visitors USB device.
Please advise.
In general, Web pages and scripts that run in browsers are limited in what local system resources they can access. Direct access to hardware like USB devices has obvious security implications.
The only way I can think of to do this might be an ActiveX control (IE only, I think) or some other kind of browser plugin.
One possibility is building a webserver into the USB device. Give the device internet access, and get it to download its own firmware in a process controlled through the webpage that the usb device serves.
Note that I have no idea if this is actually possible, just thought I'd throw in this different way of looking at the problem.
It is possible to create an ActiveX/.NETcontrol/Java Applet that will do it.
Granting the rights to this thing to access local devices will require certain security setup which can be automated, but in any case will require some user consent/interaction
I see here 2 ways:
ActiveX control
The problem is that the user should first download and install the
ActiveX from an Internet web server or from a local file
USB Device driver + DHCP Server + Web server embedded in the
device
Your USB device, once plugged, should present itself as a "Virtual
Ethernet Interface" in order for Windows to add the driver to the
list of the Internet Connections.
The Device should have also a DHCP server in order to give Windows
an IP address. Beware of the fact
The USB Device should also have an HTTP server.
At the end of this process, Windows will have 2 IP addresses.
Now you have to figure out how to have IE point to the index.html
file of the device.
Buy/Find a commercial software
You are not the first guy on this planet that has similar
requirements.
The only way I can possibly imagine doing this is through JAVA
EDIT: Looks like there might be an ActiveX way to do this as well, though ActiveX is Internet Explorer only, which limits it's usability.

Resources