943,879 Members | Top Members by Rank

Ad:
  • Java Discussion Thread
  • Unsolved
  • Views: 3013
  • Java RSS
Dec 20th, 2008
0

IP blocking or MAC address blocking

Expand Post »
Is there any class in java or a package that one can use to manage IP configuration.
I mean i was planing to develop a cafe timing application that allows people to bring in there computer system and it will not allow the client system to browse when their time expires. And I want it to run on the server so there wont be need to have the application on the client system
Similar Threads
awo
Reputation Points: 10
Solved Threads: 1
Newbie Poster
awo is offline Offline
21 posts
since Oct 2007
Dec 22nd, 2008
0

Re: IP blocking or MAC address blocking

haven't heard of a standard api that does that, but there's no-one to hold you back and write it.
let your client retreive the ip-address, send it to the server.
to let the client disconnect when "time expires", you could :
a. let the client run a thread which continously checks with the server wether or not it has expired, or, you could go the way I would
b. let the server send a disconnect-command to the client, based upon the time of login.
Reputation Points: 935
Solved Threads: 356
Nearly a Posting Maven
stultuske is offline Offline
2,497 posts
since Jan 2007
Dec 22nd, 2008
0

Re: IP blocking or MAC address blocking

You can have look on java.net package, but there is not too much to it
Moderator
Featured Poster
Reputation Points: 2786
Solved Threads: 873
Code tags enforcer
peter_budo is offline Offline
6,656 posts
since Dec 2004
Dec 22nd, 2008
0

Re: IP blocking or MAC address blocking

According to me the MAC-Address comes into play at the Data Link Layer, whereas Java can go down only till the Transport Layer. One of the reasons why I had read "ping" cannot be written in Java.
Last edited by stephen84s; Dec 22nd, 2008 at 6:49 am.
Featured Poster
Reputation Points: 653
Solved Threads: 151
Nearly a Posting Virtuoso
stephen84s is offline Offline
1,316 posts
since Jul 2007
Dec 22nd, 2008
0

Re: IP blocking or MAC address blocking

Ping cannot be accessed directly you can use Runtime to execute console ping command and read it in, but this is awkward solution
Moderator
Featured Poster
Reputation Points: 2786
Solved Threads: 873
Code tags enforcer
peter_budo is offline Offline
6,656 posts
since Dec 2004
Dec 22nd, 2008
0

Re: IP blocking or MAC address blocking

Click to Expand / Collapse  Quote originally posted by peter_budo ...
Ping cannot be accessed directly you can use Runtime to execute console ping command and read it in, but this is awkward solution
I actually meant implementing the "ping" utility completely in Java (note: not just invoking a ready to use implementation) is not possible, cause Java runs mostly on the Application or Transport layer.
Featured Poster
Reputation Points: 653
Solved Threads: 151
Nearly a Posting Virtuoso
stephen84s is offline Offline
1,316 posts
since Jul 2007
Dec 22nd, 2008
1

Re: IP blocking or MAC address blocking

Saying that 'XXX is not possible in Java' is pretty misleading IMO.

Is I/O and Networking possible in Java? You might say yes, there are packages like java.io.* and java.net.* for it. But is it really possible in *java*? Both I/O and Networking libraries which are part of the standard libraries at their core make JNI calls and are platform specific since the way I/O is performed is OS/platform specific. So as long as you have the proper JNI code in place along with dynamic libraries for your target platforms, almost anything is possible in Java. The same argument applies to 'Java only works at Application/Transport layer'.

But to answer the question, yes, a ping utiilty can't be written using the standard Java libraries, since AFAIK, Java doesn't allow creation of raw sockets which are needed to send ICMP packets.
Quote ...
Ping requires ICMP packets. These packets can only be created via a socket of the SOCK_RAW type. Currently, Java only allows SOCK_STREAM (TCP) and SOCK_DGRAM (UDP) sockets. It seems unlikely that this will be added very soon, since many Unix versions only allow SOCK_RAW sockets to be created by root, and winsock does not address ICMP packets (win32 includes an unsupported and undocumented ICMP.DLL).
Super Moderator
Featured Poster
Reputation Points: 3233
Solved Threads: 719
Failure as a human
~s.o.s~ is offline Offline
8,871 posts
since Jun 2006
Dec 22nd, 2008
0

Re: IP blocking or MAC address blocking

Quote ...
So as long as you have the proper JNI code in place along with dynamic libraries for your target platforms, almost anything is possible in Java
Yep, Hard to disagree with that one, I guess should have mentioned
the Standard Java Library.

But being a Java programmer I did love the statement :-
Quote ...
almost anything is possible in Java
Thanks for the information on raw sockets ~s.o.s~, All I had known was Java (the core networking APIs of Java) works with TCP/IP or UDP Sockets and that Ping works with ICMP, never knew why they couldn't mix.

Also when I read some material on Raw Sockets, I noticed that the packets arriving on them bypass the normal processing on the TCP/IP Protocol stack (by the kernel), So **I guess** we can actually drop down not only to the Network layer, but also access the Data Link Layer headers here.
Thanks again, discovered another new thing today and Sorry for hijacking your thread awo.
Last edited by stephen84s; Dec 22nd, 2008 at 11:49 am.
Featured Poster
Reputation Points: 653
Solved Threads: 151
Nearly a Posting Virtuoso
stephen84s is offline Offline
1,316 posts
since Jul 2007
Dec 22nd, 2008
0

Re: IP blocking or MAC address blocking

The view presented by the Java programming language for anything networking related is too high level/abstract [which is a good thing from productivity POV].

Writing networking code in C is probably the best way of hacking around with the core networking protocols and to see how the things really work; something which has been on my TODO list for quite some time. :-)
Super Moderator
Featured Poster
Reputation Points: 3233
Solved Threads: 719
Failure as a human
~s.o.s~ is offline Offline
8,871 posts
since Jun 2006

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in Java Forum Timeline: learning java
Next Thread in Java Forum Timeline: JAVA: copying 1d array's value into a specific row of a 2d array





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC