IPv4 vs IPv6 FIGHT!!!!

IPv4

IPv6

Addresses are 32 bits (4 bytes) in length. Addresses are 128 bits (16 bytes) in length
Address (A) resource records in DNS to map host names to IPv4 addresses. Address (AAAA) resource records in DNS to map host names to IPv6 addresses.
Pointer (PTR) resource records in the IN-ADDR.ARPA DNS domain to map IPv4 addresses to host names. Pointer (PTR) resource records in the IP6.ARPA DNS domain to map IPv6 addresses to host names.
IPSec is optional and should be supported externally IPSec support is not optional
Header does not identify packet flow for QoS handling by routers Header contains Flow Label field, which Identifies packet flow for QoS handling by router.
Both routers and the sending host fragment packets. Routers do not support packet fragmentation. Sending host fragments packets
Header includes a checksum. Header does not include a checksum.
Header includes options. Optional data is supported as extension headers.
ARP uses broadcast ARP request to resolve IP to MAC/Hardware address. Multicast Neighbor Solicitation messages resolve IP addresses to MAC addresses.
Internet Group Management Protocol (IGMP) manages membership in local subnet groups. Multicast Listener Discovery (MLD) messages manage membership in local subnet groups.
Broadcast addresses are used to send traffic to all nodes on a subnet. IPv6 uses a link-local scope all-nodes multicast address.
Configured either manually or through DHCP. Does not require manual configuration or DHCP.
Must support a 576-byte packet size (possibly fragmented). Must support a 1280-byte packet size (without fragmentation).
Share

Tips about how to prevent SQL injection

The key to preventing sql injection is never accepting inputs from the end user that you can glue into a sql statement. If you never have something from the outside that can become part of your sql statement then you won’t get sql injection. If a user gives you inputs, they should be BOUND into the query and not concatenated. The second you concatenate user input into your SQL, it is as if you gave them the ability to pass you code and you execute that code. The goal therefore is to use bind variables and avoid concatenating your SQL statement.

Share

RAID Notes

With RAID 5 you loose the space of 1 disk.
eg. 6x200GB in RAID5 -> 1000 GB

With RAID 1 there is a “backup disk” for each disk so you loose half space
eg. 6x200GB in RAID1 -> 600 GB

With RAID 1+0 you make RAID 1 arrays and then you combine them using RAID 0, so basically you loose half space
eg. 6x200GB in RAID1+0 -> 600 GB

 

When you use disks of varying sizes in a RAID5 setup(I have only done this with zfs) you lose the space of the largest disk, i.e. – 3x300GB and 1x100GB and 1x200GB, you will lose 1x300GB disk -

But dont forget to take a spare into account .

Share

Improve your insert statements performance

BULK INSERT. bcp.exe, INSERT SELECT FROM OPENROWSET(BULK …) . [...] regular INSERT SELECT Some of the insert methods perform minimal logging in certain circumstances. Because writes to the transaction log in SQL Server are sequential, the amount of logging can affect an operation’s performance. [...] unless there are logical reasons for you to put the CREATE TABLE and INSERT SELECT statements in the same transaction, you can run the two in separate transactions.\n The output of the query gives you the count of log records, size written to the log in megabytes, and the duration in seconds. Continue reading by clicking on the link below.

Improve your insert statements performance

 

-Summey

Share
Posted in SQL

It’s the Code, Stupid!

It’s the Code, Stupid!

Information Management Magazine, June 2005

Joe Celko

Let me blurt out the punch line of this article in one sentence. The main performance problem in the huge majority of database applications is bad SQL code. It is not lack of hardware. It is not network traffic. It is not slow front ends. All of those problems have been solved by technologies that made them commodities instead of major purchases and custom-built items.

Like what you see? Click here to sign up for Information Management’s daily newsletter to get the latest news, trends, commentary and more.

The next obvious question is: Why do we have bad SQL code? A big reason is that it is very easy to write bad SQL and difficult to write good SQL. If you can get a query to run at all, it will return something. If you get back the something you wanted to get, then life is good. But very often, you cannot tell if a result is right just by looking at the result set.

Continue reading

Share

Volatility 2.0 – Advanced Memory Forensics

The Volatility Framework is a completely open collection of tools, implemented in Python under the GNU General Public License, for the extraction of digital artifacts from volatile memory (RAM) samples. The extraction techniques are performed completely independent of the system being investigated but offer unprecedented visibilty into the runtime state of the system. The framework is intended to introduce people to the techniques and complexities associated with extracting digital artifacts from volatile memory samples and provide a platform for further work into this exciting area of research.

Visit here for more info and demo.

-Summey 

 

 

 

 

 

 

Share