Can TCP/IP Sequence and Acknowledgement numbers be controlled?

Normally TCP/IP Sequence and Acknowledge numbers are 32 bit. However, I need a way to shorten them to be 24 bit (it’s an experiment in deep inspection firewalls).

Question: Is it possible to shorten the bit resolution of the Seq/Ack numbers in windows without the knowledge of the application? (which in this case is IIS)

I want to use those top 8 bits to store some session information.

Theoretically, this could be done, but in practice, you’ll probably need to find somewhere else to store that information. Each end of the connection is allowed to choose any arbitrary number it wants, but using anything other than a completely random number leaves a gaping vulnerability to certain types of attacks. This might be acceptable to you, if the machine in question is on a tightly controlled network, but because of how bad an idea this is, you will essentially need to build your own TCP layer; operating systems generally won’t expose an API to shoot yourself in the foot like this.

And even then, you’ll need to do this at both ends, since each end of the connection chooses its Sequence Number independently. And you’d need to make sure rollover is handled properly. If you really and truly insist on this, then that’s fine, but the machines that you do it on will have issues properly talking TCP with anything else due to the issue of rollover, and you’re going to need to rewrite a lot. You’ll almost certainly be better served trying to find somewhere else to store that session information.

4

Use TCP Options instead. They’re fully supported by most if not all TCP implementations, they’ll transit firewalls intact, etc. Adding one to carry your session id would be pretty straightforward, and it won’t mess with the SEQ/ACK rules.

3

I would think so, those numbers usually aren’t exposed to the application layer, they’re only used by the TCP/IP stack. I’m not sure how you’d actually go about doing it, short of writing your own network driver, but I assume you’ve got a plan.

1

Can we reduce the sequence number ?
As Billy Mailman pointed out theoretically yes you can do it.

Should you do it ?

No,

Why ?

Because every other system in the world will expect the syn/ack sequence number to be of certain length and their TCP stack will be written to parse the standard lengths of each field.So even if your system creates a syn with 24 bits the end system will reply with syn/ack with a sequence number of 32 bit you cannot control that and your system must be smart enough to understand that.You will also face integration issues with other third party devices for the same reason.
And in the second scenario where the end device initiates the connection you will nevertheless have to send 32 bit sequence number
So to do all this you have to create your own TCP stack at the least you have to modify existing ones to suit you and if you manage to do that you ll have minimal or no support for the stack you modified.

How else can we do it ?

It is always best to stick to standards if you want to scale your applications at least with regards to networking standards like TCP. As Ross Patterson pointed out use tcp options. client program can be easily written to set options but messing with sequence numbers will be a nightmare.

If all you want is some session information do it in your application layer and let your application figure out what information it needs and how best to do it, that way it is much more elegant and simpler than what you are trying to do.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa

Can TCP/IP Sequence and Acknowledgement numbers be controlled?

Normally TCP/IP Sequence and Acknowledge numbers are 32 bit. However, I need a way to shorten them to be 24 bit (it’s an experiment in deep inspection firewalls).

Question: Is it possible to shorten the bit resolution of the Seq/Ack numbers in windows without the knowledge of the application? (which in this case is IIS)

I want to use those top 8 bits to store some session information.

Theoretically, this could be done, but in practice, you’ll probably need to find somewhere else to store that information. Each end of the connection is allowed to choose any arbitrary number it wants, but using anything other than a completely random number leaves a gaping vulnerability to certain types of attacks. This might be acceptable to you, if the machine in question is on a tightly controlled network, but because of how bad an idea this is, you will essentially need to build your own TCP layer; operating systems generally won’t expose an API to shoot yourself in the foot like this.

And even then, you’ll need to do this at both ends, since each end of the connection chooses its Sequence Number independently. And you’d need to make sure rollover is handled properly. If you really and truly insist on this, then that’s fine, but the machines that you do it on will have issues properly talking TCP with anything else due to the issue of rollover, and you’re going to need to rewrite a lot. You’ll almost certainly be better served trying to find somewhere else to store that session information.

4

Use TCP Options instead. They’re fully supported by most if not all TCP implementations, they’ll transit firewalls intact, etc. Adding one to carry your session id would be pretty straightforward, and it won’t mess with the SEQ/ACK rules.

3

I would think so, those numbers usually aren’t exposed to the application layer, they’re only used by the TCP/IP stack. I’m not sure how you’d actually go about doing it, short of writing your own network driver, but I assume you’ve got a plan.

1

Can we reduce the sequence number ?
As Billy Mailman pointed out theoretically yes you can do it.

Should you do it ?

No,

Why ?

Because every other system in the world will expect the syn/ack sequence number to be of certain length and their TCP stack will be written to parse the standard lengths of each field.So even if your system creates a syn with 24 bits the end system will reply with syn/ack with a sequence number of 32 bit you cannot control that and your system must be smart enough to understand that.You will also face integration issues with other third party devices for the same reason.
And in the second scenario where the end device initiates the connection you will nevertheless have to send 32 bit sequence number
So to do all this you have to create your own TCP stack at the least you have to modify existing ones to suit you and if you manage to do that you ll have minimal or no support for the stack you modified.

How else can we do it ?

It is always best to stick to standards if you want to scale your applications at least with regards to networking standards like TCP. As Ross Patterson pointed out use tcp options. client program can be easily written to set options but messing with sequence numbers will be a nightmare.

If all you want is some session information do it in your application layer and let your application figure out what information it needs and how best to do it, that way it is much more elegant and simpler than what you are trying to do.

Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa Dịch vụ tổ chức sự kiện 5 sao Thông tin về chúng tôi Dịch vụ sinh nhật bé trai Dịch vụ sinh nhật bé gái Sự kiện trọn gói Các tiết mục giải trí Dịch vụ bổ trợ Tiệc cưới sang trọng Dịch vụ khai trương Tư vấn tổ chức sự kiện Hình ảnh sự kiện Cập nhật tin tức Liên hệ ngay Thuê chú hề chuyên nghiệp Tiệc tất niên cho công ty Trang trí tiệc cuối năm Tiệc tất niên độc đáo Sinh nhật bé Hải Đăng Sinh nhật đáng yêu bé Khánh Vân Sinh nhật sang trọng Bích Ngân Tiệc sinh nhật bé Thanh Trang Dịch vụ ông già Noel Xiếc thú vui nhộn Biểu diễn xiếc quay đĩa Dịch vụ tổ chức tiệc uy tín Khám phá dịch vụ của chúng tôi Tiệc sinh nhật cho bé trai Trang trí tiệc cho bé gái Gói sự kiện chuyên nghiệp Chương trình giải trí hấp dẫn Dịch vụ hỗ trợ sự kiện Trang trí tiệc cưới đẹp Khởi đầu thành công với khai trương Chuyên gia tư vấn sự kiện Xem ảnh các sự kiện đẹp Tin mới về sự kiện Kết nối với đội ngũ chuyên gia Chú hề vui nhộn cho tiệc sinh nhật Ý tưởng tiệc cuối năm Tất niên độc đáo Trang trí tiệc hiện đại Tổ chức sinh nhật cho Hải Đăng Sinh nhật độc quyền Khánh Vân Phong cách tiệc Bích Ngân Trang trí tiệc bé Thanh Trang Thuê dịch vụ ông già Noel chuyên nghiệp Xem xiếc khỉ đặc sắc Xiếc quay đĩa thú vị
Trang chủ Giới thiệu Sinh nhật bé trai Sinh nhật bé gái Tổ chức sự kiện Biểu diễn giải trí Dịch vụ khác Trang trí tiệc cưới Tổ chức khai trương Tư vấn dịch vụ Thư viện ảnh Tin tức - sự kiện Liên hệ Chú hề sinh nhật Trang trí YEAR END PARTY công ty Trang trí tất niên cuối năm Trang trí tất niên xu hướng mới nhất Trang trí sinh nhật bé trai Hải Đăng Trang trí sinh nhật bé Khánh Vân Trang trí sinh nhật Bích Ngân Trang trí sinh nhật bé Thanh Trang Thuê ông già Noel phát quà Biểu diễn xiếc khỉ Xiếc quay đĩa
Thiết kế website Thiết kế website Thiết kế website Cách kháng tài khoản quảng cáo Mua bán Fanpage Facebook Dịch vụ SEO Tổ chức sinh nhật