Slashdot Mirror


Network Measurement Tool Detects Reset Packets

kickassweb writes "If you think your ISP is sniffing packets, or worse yet, sending reset packets to stop torrents, there's now a beta Network Measurement Tool to detect them, courtesy of Lauren Weinstein of the Net Neutrality Squad. It's released under the LGPL, and runs under Win2K, XP, and Vista. Quoting: 'While the reset packet detection system included in this release is of interest, NNSquad views this package as more important in the long run as a development base for a broad range of network measurement functionalities and associated communications and analysis efforts.'"

33 of 118 comments (clear)

  1. Slashdotters would laud this, but... by elrous0 · · Score: 4, Funny

    Without a Linux version, it's obviously the work of Satan.

    --
    SJW: Someone who has run out of real oppression, and has to fake it.
    1. Re:Slashdotters would laud this, but... by morgan_greywolf · · Score: 2, Insightful

      Uh...it's LGPL. They give you the source. You wanna Linux version? Port it.

    2. Re:Slashdotters would laud this, but... by lintux · · Score: 3, Insightful

      As usually, Linux already has tools like this for ages, one just has to know how to use them:

      tcpdump 'tcp[13] & 4 != 0'

    3. Re:Slashdotters would laud this, but... by nmg196 · · Score: 4, Insightful

      I hate it when people say "just port it" just because something is open source - Like every single computer user is capable of writing low level network code for any platform. I suspect that more than 99.9% of people of people who read slashdot would not stand a hope in hell of "porting it".

    4. Re:Slashdotters would laud this, but... by morgan_greywolf · · Score: 4, Funny

      I hate it when people say "just port it" just because something is open source - Like every single computer user is capable of writing low level network code for any platform. I suspect that more than 99.9% of people of people who read slashdot would not stand a hope in hell of "porting it".
      And, yet, at least 50-75% of those (probably much, much more) 99.9% are capable of learning how to do the work. The Linux TCP/IP stack, NIC drivers, etc., are fully open source. There are published specifications, docs, the whole nine yards. Read your RFCs. They're all online.

      Programming C is just not that difficult, especially for anyone who already knows how to code in at least one other language.

      Don't know how to code? There are tons of tutorials, books, and more on the Web, at your library, at your local bookstore and from e-commerce vendors everywhere.

      If you have a brain, and an IQ of at least, say 115 or so, you have no excuse.

    5. Re:Slashdotters would laud this, but... by Bill_the_Engineer · · Score: 5, Insightful

      I would like to give the benefit of the doubt to the original poster and interpret his comments this way:

      If there was a ready made package for me to use, I would gladly help the monitoring effort. However, I find the mantra "just port it" not only a reactionary response, but also totally unrealistic.

      Don't know how to code? There are tons of tutorials, books, and more on the Web, at your library, at your local bookstore and from e-commerce vendors everywhere.

      If you have a brain, and an IQ of at least, say 115 or so, you have no excuse.

      I find this totally hilarious and would have modded you funny if I had the points to give. You are a comic genius using the absurd to humorously make a point...

      I mean it's like saying "If you are capable of reading all the books available on construction and building codes, then there is no excuse for you not being able to build your own house."

      Of course I could be wrong and misinterpreted both of your responses, in that case nevermind...

      --
      These comments are my own and do not necessarily reflect the views or opinions of my employer or colleagues...
    6. Re:Slashdotters would laud this, but... by Inner_Child · · Score: 5, Insightful

      If you have a brain, and an IQ of at least, say 115 or so, you have no excuse. Maybe your time is worthless, but I actually have things that I have to do. Learning to code requires time that I (and I'm sure many others) just don't have.
      --
      Today is red jello day - all workers must eat all of their red jello. Failure to comply will result in five demerits.
    7. Re:Slashdotters would laud this, but... by blhack · · Score: 5, Insightful

      If you have a brain, and an IQ of at least, say 115 or so, you have no excuse. Thank you for completely trivializing a skill that some of us spend our entire lives perfecting.

      Seriously, it is this sort of mentality that is killing tech. You DO have to be extremely smart/dedicated to do really low level CS work. You DO have to have a pretty heavy mathematics background to do any really serious code work and it is NOT something that you can "Learn in 7 days" no matter what the books you bought at borders are telling you.
      --
      NewslilySocial News. No lolcats allowed.
    8. Re:Slashdotters would laud this, but... by Rycross · · Score: 2, Insightful

      Yeah pretty much. My time is worth something to me, and I will pay to have someone save me time, if I deem the amount of time saved worthy of the price. Whats wrong with that?

    9. Re:Slashdotters would laud this, but... by morgan_greywolf · · Score: 2, Insightful

      For a packet filter/pattern matcher like this, probably not.
      Exactly.

      To understand the differences between all the load balancing, window resizing and congestion avoidance algorithms, as well as why and how they work, probably so
      But we weren't talking about that, and understanding those algorithms isn't necessary to port this tool.

      If no one else is gonna do it, either do it yourself or a hire a programmer to do it for you.

      I swear to the gods, non-programmers are some of the whiniest users of open source. People write stuff and offer it under a free software license like the L/GPL and let you download it and the source for free, and all the non-programmers do is whine when it doesn't work on their platform of choice or doesn't have feature X, Y or Z.
  2. Ignoring reset packets? by Ojuicer · · Score: 2, Interesting

    First the Chinese firewall, and now ISPs closer to home.
    Of course the ISPs shouldn't be allowed to spoof any packets, but what would be the consequence of ignoring all reset packets on a home network?

  3. RST blocking? by Applekid · · Score: 4, Interesting

    IANANG (I Am Not A Network Guru) but, what harm could happen if, say, all reset packets were just ignored and dropped by the network stack? All the hubbub about figuring out if your ISP is sabotaging you seems less useful than just blocking the shanangans and moving on with your life.

    --
    More Twoson than Cupertino
    1. Re:RST blocking? by cduffy · · Score: 5, Interesting

      Without RST packets, how are you supposed to know if the remote host is legitimately closing the connection?

    2. Re:RST blocking? by Zocalo · · Score: 4, Interesting

      Assuming that you have a device capable of doing so, which I doubt many SoHo router/firewalls are, then there are not too many issues with dropping RST packets, and none of the them are show stoppers. It'll take a little longer before your web browser or whatever can determine that the remote site is genuinely down or otherwise refusing connections but that's about it from the "end-user" point of view. If you have a Linux proxy box however, then IPTables is perfectly capable of doing this for you, and can even do so in a sensible way - ie. just for BitTorrent traffic, just to pick a protocol at random.

      --
      UNIX? They're not even circumcised! Savages!
    3. Re:RST blocking? by yabos · · Score: 3, Insightful

      If you can do that with iptables then you could do it with a home router and a 3rd party firmware on it. DD-WRT has iptables and I believe Tomato does as well.

    4. Re:RST blocking? by Ed+Avis · · Score: 2, Informative

      Without RST packets, how are you supposed to know if the remote host is legitimately closing the connection?
      Um, IPsec?

      Point is, if your ISP spoofs RST packets, you cannot know when the remote host is legitimately closing the connection. If you get such a packet it could be genuine or it could be a fake. So it doesn't tell you much. You need some means for the remote host to sign every packet it sends out so they can't be spoofed, or else stop trusting them.
      --
      -- Ed Avis ed@membled.com
    5. Re:RST blocking? by Anonymous Coward · · Score: 2, Interesting

      Opportunistic IPSec runs into the problem that you need a pre-shared secret ("PSK") or a public key infrastructure ("PKI"), otherwise malicious persons will simply do man-in-the-middle attacks on the key exchange, so they can do deep inspection of the encrypted traffic anyway (they just have to add decryption to the inspection process).

      The net result of IPSec (or TLS) without strong authentication of both parties is that each packet consumes considerably more energy on the transmit and receive end systems, and any snooping middle system(s).

      At best you get protection from trivial sniffing and injection attacks. That is not necessarily bad, but anyone actually doing deep inspection is already in a position to do more than trivial sniffing and injection.

      PSK is difficult to scale to large numbers of counterparties, especially since you really want to do PSK out of band, and cope with compromised shared secrets. For small numbers of stable connections with known parties (as with a corporate VPN), PSK is a useful approach. For large numbers of connections with random parties, PSK scalability becomes really difficult, and is largely an unsolved problem (i.e., the "fix" is to use PKI).

      PKI suffers from trust issues, namely who do you trust as an introducer. Usually that is done for you by the writer of a library (openssl, for example) or a tool (curl or wget, for example) or a browser, or an OS vendor, or some combination of these (either and-wise or inclusive or-wise). By default, everyone seems to trust Verisign among others. Alternatively, webs of trust are in use, and these suffer from the Kevin Bacon effect -- if you do not know Kevin Bacon, you have to trust someone when he or she claims to know Kevin Bacon, or one of Kevin Bacon's friends, or ... etc. Scalability is awkward, and key distribution becomes a point of failure, since you don't just "build in" a small number of top level certs.

      Opportunistic IPSec originally anticipated using DNSSEC as a PKI database. This hasn't worked especially well for a variety of reasons; TLS's PKI system won in the marketplace and will be hard to dislodge, especially as it is increasingly integrated with authorization (and user authentication) systems like SASL.

      Most crypto users seem not to turn on ephemeral key negotiation, for example, with Ephemeral Diffie-Hellman session key exchange. EDH is computationally expensive (and requires some handshaking) but without an ephemeral key exchange you are unlikely to have forward security. That means if a certificate is compromised, all sessions protected under that cert are compromised, including those sessions recorded "ages ago". Lots of X.509 certificates are in use now that are fairly weak already, and will be very weak within a couple of years. Some of these certificates supposedly protect information that will still be useful to attackers after those couple years are up...

      Crypto is not a bad idea just because it doesn't protect one against determined traffic shapers; the general goal of TLS and IPSec is to make it much more attractive to use social engineering or other attacks on human beings, than to try to do cryptanalysis or other attacks on intercepted (or recorded) traffic. Unfortunately the two methods compose well; record traffic now, seduce/force a human being into giving you the key to decrypt it later. EDH/cycled-ADH with strong PKI certificates are the only well-known way to reduce that particular compositional problem.

      Finally, the reality is that most P2P users *don't* want to be strongly identified, so authentication of counterparties is simply not a goal. In that case, crypto does very little except in the short term.

    6. Re:RST blocking? by tatsu69 · · Score: 3, Informative

      They send you a FIN packet. RST is only for exceptional situations.

    7. Re:RST blocking? by Hal_Porter · · Score: 2, Informative

      the internet doesn't come to a screeching halt when an RST packet happens to be dropped somewhere... No, because there's a timeout in the TIME_WAIT state. As far as I can tell RST packets are a way to break the connection and allow the TCP/IP stack to know that the socket is no longer in use.

      I think if you ignored RST packets you'd end up with more sockets stuck in TIME_WAIT rather than being closed. Of course you could just increase the size of the socket table to compensate for entries getting stuck in TIME_WAIT or decrease the timeout or both.

      But actually I found another problem. The forged RST packets are sent to both parties in the Bittorrent connection. So all the people downloading would need to hack their TCP/IP stacks to ignore RST packets and cope in that situation. And the ISP could block the connection after it sends RSTs, so even if you ignored them you'd be out of luck.
      --
      echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
  4. The evolvong nature of "open" by utnapistim · · Score: 2, Interesting

    This just highlights the evolving nature of open ... protocols? (it's more than the software).
    I believe new software will appear that works around the next attempt to block torrents, and new software to go arround the one after that ...
    If there is a big-enough interest in code/protocol changes, and the code / protocol is open, you can't "put a stop" to it.

    Well ... not for long.

    --
    Tie two birds together: although they have four wings, they cannot fly. (The blind man)
  5. Satan Prevails - A distributed Get Your Hands Off by itsybitsy · · Score: 3, Funny

    How about setting up a firewall with our own deep packet inspection and reporting system? That way we can collectively scan, identify, analyze, report to a central site, aggregate the results, perform large scale analysis, and report the full results on all kinds of attacks on these firewalls around the world.

    A distributed Get Your Hands Off My Network. This information can be used to provide Objective Evidence for Court Cases Against Aggressive ISP and Those Who Pretend To Be The Governments And Homeland Security Departments of The ~192 Imagined Countries Around The World. It's about time that these pretenders, who do real harm to other people in the world to, know that they are not the only ones with some power. We tech geeks say hands off our Internets and we are watching and reporting on YOU BIG BROTHER!

    Power the the Geeks.

  6. Network Measurement Tool Detect Reset Packets by HPUXCowboy · · Score: 5, Informative

    I would point out that a tool has existed for years that possessed this capability AND has been available on BOTH Linux (*NIX) and M$ platforms. It's called Wireshark (formerly Ethereal). I will offer the caveat that you had to know a bit about TCP/IP protocol to use this tools but, there it is.

    --
    Unix has always been User Friendly ... it's just very particular who it makes friends with.
    1. Re: Network Measurement Tool Detect Reset Packets by CogDissident · · Score: 4, Interesting

      Well yeah, but having a tool where you can have joe-average download it, press a button, and get all upset at Comcast has much more value.

  7. The race is on by bytesex · · Score: 3, Insightful

    Because, of course, ISPs could also forge legitimate looking TCP RST packets.

    --
    Religion is what happens when nature strikes and groupthink goes wrong.
    1. Re:The race is on by Vectronic · · Score: 2, Interesting

      Yeah, and when that fails just cut the internet off... "just doing some routine maintenance"

      Im becomming suspicious of my ISP for that reason, aside from obvious traffic shaping (which I usually dont mind too much), they also just drop the internet entirely but leave the network intact, so any computers still think there is internet but it goes no further than the ISP, upon which I start fucking with their servers until I get internet back. (you know, 'boredom')

  8. Re:tcpdump? by morgan_greywolf · · Score: 3, Interesting

    Well, probably. I know you can do this with Wireshark, and wireshark and tcpdump both use libpcap.

  9. Re:Grammar? by Vectronic · · Score: 3, Interesting
    From The Site:

    Please let us know if you're interested in coordinating on ports to other platforms, such as Linux, BSD, and Mac, or embedded hardware (e.g. WRT54G router).

    Special thanks to John Bartas for all of his diligent and continuing work on this software for NNSquad. So, I would assume that its just the one guy working on it (at the moment) which would explain why its Windows Only, its probably his chosen platform.
  10. Not sure what the point is by Moraelin · · Score: 4, Insightful

    I'm not entirely sure what your point is, and if it's supposed to be a good or a bad thing.

    What would happen on a closed proprietary protocol? (E.g., let's imagine that MS had pursued their initial idea of makingt a MS net instead of the Internet, or that AOL/Compuserve/whatever had never gone TCP/IP and managed to win on their own, or that we all were on the French minitel. Or, heck, that each ISP had their own protocol and proprietary browser, and just converted to and from it. At least one did try to convert the graphics like that, and at least one is currently re-encoding movies, so it's not a huge stretch of imagination.)

    Well, then you'd be pretty much in the hands of whoever owns the protocol, i.e., most likely the ISP. If you were on, say, a proprietary AOL network, which works only with proprietary AOL software, and uses AOL's own proprietary protocols, then you're completely at their mercy. If they want to reset your connections, or whatever else, what are you going to do about it?

    Of course, you could reverse-engineer their protocols and patch their programs, which is a hell of a lot more expense and effort than with the open protocols. Except then they could:

    1. Just change the protocol from one version to another, to break your changes. (AOL actually did this for a while to keep breaking MS's attempts of making their Windows Messenger interoperable with AIM.)

    2. Sue you under DMCA for hacking into their network and bypassing their checks. (Seriously, much smaller attempts at reverse-engineering a protocol resulted in DMCA lawsuits.)

    So basically at best you'd have to bet a _lot_ on, well, how sympathetic a judge would be to your view that you have a right to bypass the usage or access restrictions on privately owned servers, to download more than you've bought, and to hack their software to that end. I wouldn't take it as a given.

    So basically open software at least gives you a fighting chance at all. Yes, they can keep modifying their implementation, but so can you. In the closed version, they own the software and the protocol, they can change it, but _you_ can't.

    Open standards even put a limit on how far they can take technique #1 above, because at the end of the day, they still have to remain compatible with a metric buttload of software and hardware that they don't control. In the all proprietary version, if they want to change the protocol and software _completely_, and leave the old channel open just for downloading the new software, they can.

    --
    A polar bear is a cartesian bear after a coordinate transform.
  11. No need to invoke Satan by Morgaine · · Score: 2, Insightful

    > Without a Linux version, it's obviously the work of Satan.

    Not really. It's just the work of somebody who doesn't hold portability as an important requirement.

    Sometimes this happens because they don't have the means to test on other platforms. Sometimes it's because they're so narrowly focussed that they're not even aware that there's more to computing than their own platform. Some people are simply too lazy, or lacking in computing skills, to write portable applications. And quite frequently it's the work of someone who is totally obsessed with his own platform's unique UI and so produces an UI app that can't run anywhere else, without actually wanting to be evil.

    Only very rarely does a minor wannabe Satan appear, one who willfully writes open-source code that can't be run on other platforms by design. I'm not even sure I can name a clear example of it ... mostly they're just lazy or uninformed.

    --
    "The question of whether machines can think is no more interesting than [] whether submarines can swim" - Dijkstra
  12. Re:Cool by Culture20 · · Score: 3, Informative

    I always use
    wget -c <URL>
    to download large files. Even when your ISP is on the up and up, you'll get a RST occasionally if the remote computer sends it. Using wget to continue an almost completed download of an iso or XPSP3 is really handy.

  13. Re:tcpdump? by sukotto · · Score: 2, Informative

    tcpdump 'tcp[13] & 4!=0'

    --
    Come play free flash games on Kongregate!
  14. Throttling should not use RESET by redelm · · Score: 3, Interesting
    Not that [ISP] managment have ever been known for great intelligence, but throttling connections via RESET is just plain dumb. The client will just retry and extra data transferred.


    The correct (and difficult to detect) way of throttling is by delaying ACK packets a few ms. Then normal TCP congestion control does all the nice throttling for you.


    The ethics of throttling are a different matter: one side says they've been promised unlimited, and the other wants to be fair to all customers.

  15. Re:Not directly relevent, by Jabrwock · · Score: 2, Interesting

    A good friend of mine works for Shaw Cable... He says it's just three guys (only one on at a time afaik) and when they see someone using to much bandwidth, they phone them up and tell them to settle down with the downloads. I got one of those calls, and the guy I spoke with couldn't tell me what "grey zone" I'd wandered into, or why my unlimited account... wasn't. I asked him what I should cap my d/l rate to, so I wouldn't get these calls, and he said there wasn't a limit "per se". So I asked him why he was calling me with a vague request to stop using so much of a service he couldn't define for me. No answer.

    I've since switched to Sasktel. While it's a lower max bandwidth, I don't have to share, and I don't get a phone call asking me to "tone it down" when I use my account for more than just email...
    --
    Magic doesn't work in my presence. My power of disbelief is too strong.